使用集合运算符查询查找给定问题的结果

using set operator query to find the result of the given questions

使用集合运算符显示每个部门的 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运算符可以是并集、交集、减号...

第一个问题的措辞对我来说不是 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