MySQL 查詢結果取交集的實現(xiàn)方法
更新時間:2012年11月15日 11:09:21 作者:
本文將詳細介紹MySQL中如何實現(xiàn)以SQL查詢返回的結果集取交集的實現(xiàn)方法,需要的朋友可以參考
1
MySQL中如何實現(xiàn)以下SQL查詢
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305')
INTERSECT
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315')
請各位不吝賜教,小弟先謝過~
解:
取交集
select a.* from
(
SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305'
) as a
cross join
(
SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315'
) as b on a.Name = b.Name;
2.
SELECT * FROM (
SELECT DISTINCT col1 FROM t1 WHERE...
UNION ALL
SELECT DISTINCT col1 FROM t1 WHERE...
) AS tbl
GROUP BY tbl.col1 HAVING COUNT(*) = 2
3.
交集:
SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name
舉例:
表a:
FieldA
001
002
003
表b:
FieldA
001
002
003
004
請教如何才能得出以下結果集,即表A, B行交集
FieldA
001
002
003
答案:select a.FieldA from a inner join b on a.FieldA=b.FieldA
差集:
NOT IN 表示差集
SELECT * FROM table1 WHERE name NOT IN (SELECT name FROM table2)
MySQL中如何實現(xiàn)以下SQL查詢
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305')
INTERSECT
(SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315')
請各位不吝賜教,小弟先謝過~
解:
取交集
select a.* from
(
SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305'
) as a
cross join
(
SELECT S.Name
FROM STUDENT S, TRANSCRIPT T
WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315'
) as b on a.Name = b.Name;
2.
SELECT * FROM (
SELECT DISTINCT col1 FROM t1 WHERE...
UNION ALL
SELECT DISTINCT col1 FROM t1 WHERE...
) AS tbl
GROUP BY tbl.col1 HAVING COUNT(*) = 2
3.
交集:
SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name
舉例:
表a:
FieldA
001
002
003
表b:
FieldA
001
002
003
004
請教如何才能得出以下結果集,即表A, B行交集
FieldA
001
002
003
答案:select a.FieldA from a inner join b on a.FieldA=b.FieldA
差集:
NOT IN 表示差集
SELECT * FROM table1 WHERE name NOT IN (SELECT name FROM table2)
相關文章
MySQL中Binary Log二進制日志文件的基本操作命令小結
這篇文章主要介紹了MySQL中Binary Log二進制日志文件的基本操作小結,包括利用二進制日志恢復數(shù)據(jù)的方法,需要的朋友可以參考下2015-12-12
MySQL INNER JOIN 的底層實現(xiàn)原理分析
這篇文章主要介紹了MySQL INNER JOIN 的底層實現(xiàn)原理,INNER JOIN的工作分為篩選和連接兩個步驟,連接時可以使用多種算法,通過本文,我們深入了解了MySQL中INNER JOIN的底層實現(xiàn)原理,需要的朋友可以參考下2023-06-06
mysql5.7數(shù)據(jù)庫安裝完成后如何配置環(huán)境變量
這篇文章主要為大家詳細介紹了在win10系統(tǒng)下,mysql5.7數(shù)據(jù)庫安裝完成后配置環(huán)境變量的具體步驟,感興趣的小伙伴們可以參考一下2016-06-06
mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的完整實例
這篇文章主要給大家介紹了關于mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01
從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題
這篇文章主要介紹了從MySQL 5.5遷移到Mariadb 10.1.14所遇到的問題的相關資料,需要的朋友可以參考下2016-08-08

