mysql左连接右连接(查询两张表不同的数据)

Posted Lg-long

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql左连接右连接(查询两张表不同的数据)相关的知识,希望对你有一定的参考价值。

有两张表:一张A表he一张B表

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 ;
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录;
inner join(等值连接) 只返回两个表中联结字段相等的行;

表A数据:

 

表B数据:

 

1、查询两张表中都有的记录:

sql: SELECT a.* FROM a INNER JOIN b ON a.a_id = b.b_id;

 

2、查询表A中有,表B中没有的数据:

sql: SELECT a.* FROM a LEFT JOIN b ON a.a_id = b.b_id WHERE b.b_id IS NULL;

 

3、查询表A中没有,表B中有的数据:

sql: SELECT b.* FROM a RIGHT JOIN b ON a.a_id = b.b_id WHERE a.a_id IS NULL;

 

以上2的结果源于对LEFT JOIN的理解:

sql: SELECT a.*,b.* FROM a LEFT JOIN b ON a.a_id = b.b_id;

 

而以上3的结果源于对RIGHT JOIN的理解:

sql: SELECT a.*,b.* FROM a RIGHT JOIN b ON a.a_id = b.b_id;


---------------------
作者:YYQ_QYY
来源:CSDN
原文:https://blog.csdn.net/YYQ_QYY/article/details/78085516







以上是关于mysql左连接右连接(查询两张表不同的数据)的主要内容,如果未能解决你的问题,请参考以下文章

inner join(内连接)left join(左连接)right join(右连接)full join(全连接)区别

MySQL数据库(21):连接查询 join

MySQL多表连接查询 内连接 外连接 子查询

mysql多表连接查询

Mysql之左连接右连接内连接——示例 (转)

left joinright join和inner join