使用UNION子句进行选择 [英] SELECT using UNION Clause
本文介绍了使用UNION子句进行选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如.我有这2张桌子
//DEPARTMENT
DNAME CITY
--------------------
RESEARCH BOSTON
IT CITY
SCIENCE DALLAS
RESEARCH DALLAS
所以我用了这句话
(SELECT DNAME FROM DEPARTMENT WHERE CITY='BOSTON')
UNION
(SELECT DNAME FROM DEPARTMENT WHERE CITY='DALLAS'):
使用此语句,我得到此输出
Using this statement i get this output
DNAME
-----
RESEARCH
SCIENCE
但是我的问题是要选择波士顿"还是达拉斯",但不要同时选择两者,我的输出应该像这样
But my question is to choose either in 'BOSTON' or 'DALLAS' But not in both, my output should be like this
DNAME
--------
SCIENCE
为了获得正确的输出,我应该改变什么
What should i change in order to get the correct output
推荐答案
您应该使用INTERSECT
和MINUS
(对于Oracle):
You should use INTERSECT
and MINUS
(for Oracle):
-- At least at Boston or at Dallas
(SELECT DNAME
FROM DEPARTMENT
WHERE CITY = 'DALLAS'
UNION
SELECT DNAME
FROM DEPARTMENT
WHERE CITY = 'BOSTON')
MINUS
-- At Boston and at Dallas
(SELECT DNAME
FROM DEPARTMENT
WHERE CITY = 'DALLAS'
INTERSECT
SELECT DNAME
FROM DEPARTMENT
WHERE CITY = 'BOSTON')
由于UNION
添加子查询,而EXCEPT
/MINUS
减去子查询
Since UNION
adds subqueries up while EXCEPT
/MINUS
subtracts them
这篇关于使用UNION子句进行选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文