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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!