Mysql left join

1.MySQL LEFT JOIN子句允许您从两个或多个数据库表查询数据。LEFT JOIN子句是SELECT语句的可选部分,出现在FROM子句之后。

2我们假设要从两个表t1t2查询数据。以下语句说明了连接两个表的LEFT JOIN子句的语法:

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值。

换句话说,LEFT JOIN子句允许您从匹配的左右表中查询选择行记录,连接左表(t1)中的所有行,即使在右表(t2)中找不到匹配的行也显示出来,但使用NULL值代替。

3.总之,左表的内容都要显示出来,右表不匹配的即不含该内容的用NULL表示出来。

4.当您想要找到右表中与不匹配的左表中的行时,LEFT JOIN子句非常有用。要查询两个表之间的不匹配行,可以向SELECT语句添加一个WHERE子句,以仅查询右表中的列值包含NULL值的行。即在最后加上where 【表名】 IS NULL , 即可判断不匹配的行。

posted @ 2018-04-18 20:53  QianweiZ  阅读(275)  评论(0编辑  收藏  举报