sql中left join 和 right join的區別基礎舉例,僅供辨識
阿新 • • 發佈:2018-12-25
left join(左聯接)
---返回左表中的所有記錄和右表中條件欄位相等的記錄。
right join(右聯接) ---返回右表中的所有記錄和左表中聯結欄位相等的記錄
其實就是羅列出右表中的所有資料,然後找出左表中滿足條件的所有資料。
right join(右聯接) ---返回右表中的所有記錄和左表中聯結欄位相等的記錄
舉例說明:
============================================================
id | name | age |
1 | yang | 23 |
2 | yu | 24 |
3 | fubao | 25 |
4 | jiayi | 27 |
5 | liuxiwa | 28 |
id | salary | area |
1 | 2000 | 蘭州 |
2 | 2600 | 上海 |
3 | 3000 | 西安 |
4 | 3400 | 廣東 |
6 | 4500 | 陝西 |
辨析點一:left join on
sql語句:
SELECT
*
FROM
user_info_a
LEFT JOIN user_info_b
ON
user_info_a.id = user_info_b.id
結果如下:
id | name | age | salary | area |
1 | yang | 23 | 2000 | 蘭州 |
2 | yu | 24 | 2600 | 上海 |
3 | fubao | 25 | 3000 | 西安 |
4 | jiayi | 27 | 3400 | 廣東 |
5 | liuxiwa | 28 | null | null |
其實就是羅列出左表中的所有資料,然後找出右表中滿足條件的所有資料。
辨析點二:left join on
sql語句:
SELECT
*
FROM
user_info_a
RIGHT JOIN user_info_b
ON
user_info_a.id = user_info_b.id
結果如下:
id | name | age | salary | area |
1 | yang | 23 | 2000 | 蘭州 |
2 | yu | 24 | 2600 | 上海 |
3 | fubao | 25 | 3000 | 西安 |
4 | jiayi | 27 | 3400 | 廣東 |
6 | null | null | 4500 | 陝西 |