日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql连表查询on条件_mysql 外连接的时候,条件在on后面和条件在where后面的区别...

發布時間:2025/3/11 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql连表查询on条件_mysql 外连接的时候,条件在on后面和条件在where后面的区别... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近使用mysql的時候碰到一個問題:當一個表外聯另一個表的時候,將一些查詢條件放在on后面和放在where后面不太一樣:

學生分數表stuscore:

當查詢語句如下(查詢語句1):

SELECT a.name,a.subject,a.score,a.stuid ,b.name,b.subject,b.score,b.stuid

FROM stuscore a

LEFT JOIN stuscore b ON a.subject=b.subject WHERE a.score >100

查詢結果如下:查詢結果為空;

當查詢語句如下時(查詢語句2):

SELECT a.name,a.subject,a.score,a.stuid ,b.name,b.subject,b.score,b.stuid

FROM stuscore a

LEFT JOIN stuscore b ON a.subject=b.subject AND a.score >100

查詢的結果如下:

我發現查詢結果不為空,但是后面的字段都為空。

總結原因:當條件放在on后面的時候(如查詢語句2),后面的條件作為連接條件,如果不滿足,則顯示左的一條數據,由標的查詢字段都用null填充;

當條件放在where后面的時候(如查詢語句1),后面的條件作為查詢條件,是在連表以后,再過濾的條件,只要不滿足就過濾掉,所以查詢出來的結果為空。

所以一定要知道外連接的查詢原理。

總結

以上是生活随笔為你收集整理的mysql连表查询on条件_mysql 外连接的时候,条件在on后面和条件在where后面的区别...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。