溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql連接left join、right join、inner join有何區別

發布時間:2020-05-08 14:51:01 來源:億速云 閱讀:438 作者:三月 欄目:MySQL數據庫

下面跟著筆者一起來了解下mysql連接left join、right join、inner join有何區別,相信大家看完肯定會受益匪淺,文字在精不在多,希望mysql連接left join、right join、inner join有何區別這篇短內容是你想要的。                                                  

A加油卡表:

id, userName, cardNo

1              aaa                    111

2             bbb                   111

3              aaa                    222

B加油記錄表:

id, number,  userName ,  cardNo,

1             1234                  aaa                     111

2             234                   bbb                     111

left join:

select * from B   b    left join  A a on a.userName = b.userName   where b.userName=aaa

由于上面sql中,on后面的條件,userName在A表中對應多條,而不是對應一條,結果集就是笛卡爾積。B表中的1條滿足剩余A表中的2條滿足。結果為2條。

select * from B   b    left join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa

由于上面sql中,on后面的兩個條件在A表中只能找到一條唯一數據,所以結果就是B表中有多少條數據滿足where,結果集就返回多少條數據。這里是返回一條數據

right join:

下面這個sql與上面的left join效果一樣:

select * from A   a    right join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa

inner join:

select * from A   a    inner  join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa

還是首先看on后面的條件,如果A表中的一條數據對應on的兩個條件在B中只有一條數據,則返回滿足where條件的2條數據。

select * from B   b    inner  join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa

看完mysql連接left join、right join、inner join有何區別這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女