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

来源:互联网 发布:电脑魔方计时器软件 编辑:程序博客网 时间:2024/05/16 02:35

有两张表:一张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;


阅读全文
1 0
原创粉丝点击