sql表交集
❶ 求多個表交集的sql語句是什麼呀
使用 EXISTS 和 NOT EXISTS 查找交集與差集
使用 EXISTS 和 NOT EXISTS 引入的子查詢可用於兩種集合原理的操作:交集與差集。兩個集合的交集包含同時屬於兩個原集合的所有元素。差集包含只屬於兩個集合中的第一個集合的元素。
city 列中 authors 和 publishers 的交集是作者和出版商共同居住的城市的集合。
USE pubs
SELECT DISTINCT city
FROM authors
WHERE EXISTS
(SELECT *
FROM publishers
WHERE authors.city = publishers.city)
下面是結果集:
city
--------
Berkeley
(1 row(s) affected)
當然,該查詢可以寫成一個簡單的聯接。
USE pubs
SELECT DISTINCT authors.city
FROM authors INNER JOIN publishers
ON authors.city = publishers.city
city 列中 authors 和 publishers 的差集是作者所居住的、但沒有出版商居住的所有城市的集合,也就是除 Berkeley 以外的所有城市。
USE pubs
SELECT DISTINCT city
FROM authors
WHERE NOT EXISTS
(SELECT *
FROM publishers
WHERE authors.city = publishers.city)
該查詢也可以寫成:
USE pubs
SELECT DISTINCT city
FROM authors
WHERE city NOT IN
(SELECT city
FROM publishers)
❷ 如何使用SQL語句求出交集
求交集嫌漏團的關鍵搜沒字是 intersect ,例芹橘:
select * from emp where deptno in (10,20)
intersect
select * from emp where deptno in (20,30);
❸ sql如何取交集
select distinct id from a where id='123' and id in (select distinct id from a where id='456')
不過偶實在沒看出select distinct id from a where id='123'這種語句有什麼用處。。。。 就你寫的來說這二者不可能有什麼交集。
如果你的意思是指並集,就應該用select distinct id from a where id='456' or id = '123'
❹ 關於sql語句查詢兩個表的交集問題,謝謝!
select表1.id,表1.name,表1.sex,表2.difrom表1innerjoin表2on表1.name=表2.name
❺ sql如何查詢兩個表的交集
首先倆個表要存在關聯關系,例:表A中的ID列和表B中的ID列是一樣的數據,且唯一
則:
select * from A
left jion B on A.ID=B.ID
❻ SQL集合運算:差集、交集、並集
原
SQL集合運算:差集、交集、並集
2011年03月30日 15:41:00
閱讀數:15446
1、差集( except )
select a from t_a
except
select a from t_b
-- 也可寫作:
select a from t_a where a not in (select a from t_b)
-- 多個欄位時:
select a,b from t_a
except
select a,b from t_b
-- 多欄位的查集也可寫成:
select a,b from t_a where (a,b) not in (select a,b from t_b)
2、交集( intersect )
select a from t_a
intersect
select a from t_b
-- 也可寫作:
select a from t_a where a in (select a from t_b)
3、並集( union )
select a from t_a
union distinct
select a from t_b