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教程(視頻)
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦