求多个表交集的SQL语句是什么呀???

 我来答
百度网友558cf9f59
2006-01-04 · TA获得超过422个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:307万
展开全部
使用 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)

参考资料: SQLSERVER联机丛书

热游玩家引擎
2006-01-04 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:92.8万
展开全部
select a.*,b.* from table1 as a left join table2 as b on a.id=b.id

以左侧表为基准,也可以使用right以右侧表为基准
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8bd8f8b17
2006-01-04 · TA获得超过1326个赞
知道小有建树答主
回答量:1582
采纳率:100%
帮助的人:0
展开全部
select xxx.a1,yyy.b1 from xxx, yyy where xxx.a2=yyy.b2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cychappy
2006-01-04 · TA获得超过5万个赞
知道小有建树答主
回答量:1709
采纳率:0%
帮助的人:906万
展开全部
select 表.字段 from 表1,表2 where 表1.字段1=表2.字段2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友749eb3cf3
2006-01-04 · TA获得超过369个赞
知道答主
回答量:263
采纳率:0%
帮助的人:0
展开全部
(子查询)union(子查询)

(子查询)and(子查询)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科创板故事
2006-01-04 · 超过16用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:0
展开全部
不明白,是指两个表的相同记录的交,还是主键相同的交,还是其他情况?得说明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式