Мне нужна помощь, чтобы сделать заявление SQL;Я действительно не знаю, как выйти из ситуации.У меня есть две таблицы: «Отделы» и «Сотрудники», из которых я хочу выбрать Dpt_num и Dpt_name отделов, в которых есть хотя бы один сотрудник и все их сотрудники из Барселоны
Дело 1
== Departments =======
| Dpt_num | Dpt_name |
| 1 | A |
| 2 | B |
== Employees ===================
| E_num | Dpt_num | City |
| 1 | 1 | Barcelona |
| 2 | 1 | Barcelona |
Результат в этом случае должен быть
Dpt_num Dpt_name
------------------
1 A
Дело 2
== Departments =======
| Dpt_num | Dpt_name |
| 1 | A |
| 2 | B |
== Employees ==================
| E_num | Dpt_num | City |
| 1 | 1 | Barcelona |
| 2 | 1 | Madrid |
Результат в этом случае должен быть пустым.
Я пробовал это на примере, но он кажется очень неэффективным и не работает во всех случаях
select
num_dpt, nom_dpt
from
departements
where
1 = (select count(distinct e.ciutat_empl)
from empleats e
where e.num_dpt = num_dpt)
and not exists (select * from empleats e
where e.ciutat_empl != 'BARCELONA' and e.num_dpt = num_dpt);
Я действительно ценюлюбая помощь.Спасибо!