使用UNION子句进行选择 [英] SELECT using UNION Clause

查看:65
本文介绍了使用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

推荐答案

您应该使用INTERSECTMINUS(对于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆