mysql查詢兩個表的交集方法:1、將兩個資料的資料列用UNION ALL關鍵字合併查詢交集;2、使用帶IN關鍵字的查詢;3、使用帶EXISTS關鍵字的子查詢。
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
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
3、有IN關鍵字的查詢。需要比較多少列資料是相同的就必須有多少個IN。這時候一定要控制列,列太多不建議用。
SELECT * FROM student AS a where a.name in (select name from teacher )AND a.ID in (select ID from teacher);
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怎麼查兩個表的交集的詳細內容。更多資訊請關注PHP中文網其他相關文章!