Нужно соединить две таблицы по общему полю Отдел_ID и отфильтровать по названию отдела.
Способ 1 — явный JOIN (рекомендуется):
SELECT s.ФИО
FROM Сотрудники s
JOIN Отделы o ON s.Отдел_ID = o.Отдел_ID
WHERE o.Название = 'Маркетинг';
Способ 2 — подзапрос:
SELECT ФИО
FROM Сотрудники
WHERE Отдел_ID = (
SELECT Отдел_ID FROM Отделы WHERE Название = 'Маркетинг'
);
Способ 3 — через WHERE (старый стиль, не рекомендуется):
SELECT s.ФИО
FROM Сотрудники s, Отделы o
WHERE s.Отдел_ID = o.Отдел_ID
AND o.Название = 'Маркетинг';
Разбор JOIN:
JOIN ... ON условие — соединяет строки двух таблиц по условию.
- Псевдонимы
s, o упрощают запись и нужны при многократном использовании одной таблицы.
- Это INNER JOIN — берёт только те строки, где есть совпадение. Если у сотрудника
Отдел_ID = NULL, он не попадёт.
Если нужны все сотрудники, даже без отдела — LEFT JOIN.