-- Даны две таблицы EMP - список сотрудников и зарплат, DEPT - список подразделений
-- 1) Написать запрос, возвращающий имя (ENAME), подразделение (DNAME), должность (JOB)
-- и на сколько зарплата работника (SAL) отличается от средней для его должности.
-- 2) Отсортировать полученный результат так, чтобы сотрудник с именем JAMES был на первой строчке,
-- FORD на последней, а все остальные сотрудники отсортированы по имени в обратном алфавитном порядке.
select
em.ename,
d.dname,
em.job,
em.sal - avg(e.sal) over(partition by e.job) as avg_salary
from emp em
join dept d on d.deptno = em.deptno
order by
case when em.name in ('JAMES') then 0 else 1 end,
case when em.name in ('FORD') then 1 else 0 end,
--em.name desc
Задание 2
-- Даны таблицы подразделений DEPT и DEPT2 с одинаковыми данными и уникальным ключем (DEPTNO).
-- В таблице DEPT2 удалили, изменили и добавили несколько строк.
-- Необходимо получить в одном запросе все номера подразделений (DEPTNO), по которым были изменения.
-- Вывести номер подразделения и код операции ('I' - добавили, 'D' - удалили, 'U' - изменили).
select * from dept1
union all
select from dept2
select
dept1.deptno
from dept1
select * from dept1
join dept2 on dept2.deptno = dept1.deptno
where not exist (select deptno from dept2)