码迷,mamicode.com
首页 > 数据库 > 详细

MySQL-表连接

时间:2017-12-31 10:55:05      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:gpo   column   限制   集中   class   一个   mys   语法   关键字   

MySQL别名

SELECT CONCAT_WS(, , lastName, firstname) AS `Full name`      #CONCAT_WS函数用于字符串的拼接
FROM employees;

MySQL-INNER JOIN运算

功能介绍:将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录。

INNER JOIN语句之前,必须指定以下条件:

第一,在From语句中指定主表。

第二,表中要连接的主表应该出现在INNER JOIN语句中。理论上说,可以连接多个其他表。 但是,为了获得更好的性能,应该限制要连接的表的数量(最好不要超过三个表)。

第三,连接条件或连接谓词。连接条件出现在INNER JOIN语句的ON关键字之后。连接条件是将主表中的行与其他表中的行进行匹配的规则。

假设使用INNER JOIN子句连接两个表:t1和t2

SELECT column_list FROM t1 INNER JOIN t2 ON join_condition;

  对于t1表中的每一行,INNER JOIN语句将它与t2表的每一行进行比较,以检查它们是否都满足连接条件。当满足连接条件时,INNER JOIN将返回由t1t2表中的列组成的新行。

  请注意,t1t2表中的行必须根据连接条件进行匹配。如果找不到匹配项,查询将返回一个空结果集。当连接超过2个表时,也应用此逻辑。

 

MySQL-LEFT JOIN运算

功能介绍:从两个或多个数据库表查询数据。

假设要从两个表t1和t2查询数据。
SELECT 
    t1.c1, t1.c2, t2.c1, t2.c2
FROM
    t1
        LEFT JOIN
    t2 ON t1.c1 = t2.c1;

  当使用LEFT JOIN语句将t1表加入t2表时,如果来自左表t1的行与基于连接条件(t1.c1 = t2.c1)的右表t2匹配,则该行将被包含在结果集中。

  如果左表中的行与右表中的行不匹配,则还将选择左表中的行并与右表中的“”行组合。“”行对于SELECT子句中的所有相应列都包含NULL值。

MySQL-CROSS JOIN运算

功能介绍:CROSS JOIN语句从连接的表返回行的笛卡儿乘积。

连接两个表:T1和T2的CROSS JOIN子句的语法:
SELECT 
    *
FROM
    T1
        CROSS JOIN
    T2;

  将两张表的情况全部列举出来

  结果表: 列= 原表列数相加,行= 原表行数相乘

 

MySQL-表连接

标签:gpo   column   限制   集中   class   一个   mys   语法   关键字   

原文地址:https://www.cnblogs.com/loser1949/p/8152004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!