使用集合运算符查询来查找给定问题的结果
Posted
技术标签:
【中文标题】使用集合运算符查询来查找给定问题的结果【英文标题】:using set operator query to find the result of the given questions 【发布时间】:2020-07-10 17:40:31 【问题描述】:使用集合运算符显示每个部门的 DEPTNO,SUM(SAL),每个职位的 JOB,SUM(SAL) 和总工资。
使用 Set Operator 按顺序显示在 deptno 20、10、30 工作的员工中的 JOB 和 Deptno。
对于第一个问题,我的查询是这样的:
select e.deptno,to_char(null),e.sum(sal),
from emp e
UNION
select d.deptno,d.job,d.sum(sal)
from emp d
group by deptno,job;
我不知道如何做第二个。 SET 运算符可以是 union,intersection,minus...
【问题讨论】:
【参考方案1】:第一个问题的措辞对我来说不是 100% 清楚,但查询应该是:
select deptno, '', sum(sal) from emp group by deptno
union
select deptno, job, sum(sal) from emp group by deptno, job
对于第二个问题,您可以再次使用UNION
。例如:
select job, deptno
from (
select job, deptno, 2 as o from emp where deptno = 10
union
select job, deptno, 1 from emp where deptno = 20
union
select job, deptno, 3 from emp where deptno = 30
) x
order by o
【讨论】:
@MAYANKRAJ 如果您有更多要写的问题,请提出一个新问题。以上是关于使用集合运算符查询来查找给定问题的结果的主要内容,如果未能解决你的问题,请参考以下文章