используя запрос оператора множества, чтобы найти результат заданных вопросов - PullRequest
0 голосов
/ 10 июля 2020

Используя оператор набора, отобразите DEPTNO, SUM (SAL) для каждого отдела, JOB, SUM (SAL) для каждой работы и общую зарплату.

Используя Set Operator, отобразите JOB и Deptno у сотрудников, работающих в deptno 20,10,30 в таком порядке.

для первого вопроса мой запрос таков:

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 может быть объединение, пересечение, минус ...

1 Ответ

0 голосов
/ 10 июля 2020

Формулировка первого вопроса мне не на 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
...