首頁  >  文章  >  資料庫  >  mysql怎麼查兩個表的交集

mysql怎麼查兩個表的交集

coldplay.xixi
coldplay.xixi原創
2020-10-19 15:59:178314瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn