mysql怎麼查兩個表的交集

coldplay.xixi
發布: 2020-10-19 15:59:17
原創
8298 人瀏覽過

mysql查詢兩個表的交集方法:1、將兩個資料的資料列用UNION ALL關鍵字合併查詢交集;2、使用帶IN關鍵字的查詢;3、使用帶EXISTS關鍵字的子查詢。

mysql怎麼查兩個表的交集

mysql查詢兩個表的交集方法:

1、兩個要求交集的表(列)的結構要一致,對應的字段數,字段類型都應該相同;將兩個資料的資料列用UNION ALL 關鍵字合併;將上面的所有需要​​比較的列GROUP BY ;最後HAVING COUNT(任一列,不能多列)>1,那麼就是交集。

SELECT a.* FROM(    SELECT * from teacher    UNION ALL    SELECT * from student)a GROUP BY a.id,a.name,a.sex HAVING COUNT(a.sex)>1
登入後複製

mysql怎麼查兩個表的交集

2、內連線或等值連線。 jion(inner jion)。將兩個資料列,條件必須涉及需要比較的列,這裡沒有比較sex列,所以比2步多了一行資料。

SELECT * FROM student AS a JOIN teacher AS b ON a.name =b.name AND a.ID=b.ID或者SELECT * FROM student AS a inner  JOIN teacher AS b ON a.name =b.name AND a.ID=b.ID
登入後複製

mysql怎麼查兩個表的交集

3、有IN關鍵字的查詢。需要比較多少列資料是相同的就必須有多少個IN。這時候一定要控制列,列太多不建議用。

SELECT * FROM student AS a where a.name in (select name from teacher )AND a.ID in (select ID from teacher);
登入後複製

mysql怎麼查兩個表的交集

4、帶有EXISTS關鍵字的子查詢。這個語句說白了也是透過判斷teacher中是否有滿足兩個相等的條件,來得出來的。

SELECT * FROM student AS a where EXISTS (select *from teacher b where a.name =b.name AND a.ID=b.ID)
登入後複製

mysql怎麼查兩個表的交集

#更多相關免費學習推薦:##mysql教學(影片)

以上是mysql怎麼查兩個表的交集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!