MySQL-表连接

Posted Nice1949

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-表连接相关的知识,希望对你有一定的参考价值。

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-表连接的主要内容,如果未能解决你的问题,请参考以下文章

mysql更新列内部连接另一个表

Mysql连接多个表字段

这些角度电子邮件指令代码片段如何连接

java代码实现连接mysql数据库,并取得表shijian中id为123的time值 说明 表shijian 有两列 id,time

MySQL常用操作--多表联查

使用 Glue 连接和 spark scala 覆盖 Mysql 表