SQL左連接和右連接原理及實例解析
兩張表,A表中的記錄B表中不一定有。
- 左連接:關注左邊,右邊沒有就為空。
- 右連接:關注右邊,左邊沒有就為空。
- 內連接:返回交集
例如:
student表s
id | name | age | class_id |
---|---|---|---|
1 | yang | 22 | 1 |
2 | su | 20 | 1 |
3 | fan | 20 | 2 |
4 | li | 30 | 2 |
5 | luo | 22 |
class表c
id | name | total |
---|---|---|
1 | 大一 | 30 |
2 | 大二 | 15 |
3 | 大三 | 40 |
在上面的表中,s表中的5號記錄在c表中是找不到數(shù)據(jù)的。
1.左連接,left join左邊為主要表,次表沒有對應的就顯示NULL。
SELECT s.`name`,s.`class_id` FROM student s LEFT JOIN class c ON s.`class_id`=c.`class_id`
結果
name | class_id |
---|---|
yang | 1 |
su | 1 |
fan | 2 |
li | 2 |
luo | (NULL) |
2.右連接,right jion右邊為主要表,次表沒有對應的就顯示NULL。
SELECT s.`name`,s.`class_id` FROM student s RIGHT JOIN class c ON s.`class_id`=c.`class_id`
結果
name | class_id |
---|---|
yang | 1 |
su | 1 |
fan | 2 |
li | 2 |
(NULL) | (NULL) |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
MySQL中show命令方法得到表列及整個庫的詳細信息(精品珍藏)
MySQL中show 句法得到表列及整個庫的詳細信息,方便查看數(shù)據(jù)庫的詳細信息。2010-11-11將mysql腳本轉化為oracle腳本的攻略與細節(jié)點
前段時間公司項目數(shù)據(jù)庫需要從mysql轉為oracle,所以需要修改下原有的mysql腳本,這篇文章主要給大家介紹了關于將mysql腳本轉化為oracle腳本的攻略與細節(jié)點,需要的朋友可以參考下2023-09-09MySQL中的case?when中對于NULL值判斷的坑及解決
這篇文章主要介紹了MySQL中的case?when中對于NULL值判斷的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Centos7.5安裝mysql5.7.24二進制包方式部署
這篇文章主要介紹了Centos7.5安裝mysql5.7.24二進制包方式部署,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12linux 安裝 mysql 8.0.19 詳細步驟及問題解決方法
這篇文章主要介紹了linux 安裝 mysql 8.0.19 詳細步驟,本文給大家列出了常見問題及解決方法,通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02SQL數(shù)據(jù)分表Mybatis?Plus動態(tài)表名優(yōu)方案
這篇文章主要介紹了SQL數(shù)據(jù)分表Mybatis?Plus動態(tài)表名優(yōu)方案,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08