有A、B、C三个表,我想实现:先把A和B取合集,再将这个合集与C表取交集,也就是实现A∪B∩C,该怎么用SQL语句写呢?首先感谢liaoxw624的回答,我试了一下select x1.* from((SELECT id FROM A)UNION(SELECT id FROM B))x1INNER JOINC AS t1 ON t1.id=x1.id提示错误信息:Every derived table must have its own alias于是,我又试了一下这个:select x2.* from(((SELECT id FROM A)UNION(SELECT id FROM B))x1INNER JOINC AS t1 ON t1.id=x1.id)x2又提示说最后两行有语法错误,该怎么办呢?
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
题目太笼统,假设如下
1。3个表列结构一样(不一样也可以,但必须保证可以取到相同的列射影)
2。三个表都有相同的关键字,假设为ID
则SQL文如下
select t.* from
--A∪B==>t
(select * from A
union
select * from B)t
--A∪B∩C
inner join C
on t.ID=C.ID
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消