Надо добавить first_name, last_name, department_id, department_name.
Проблема в том что не знаю, как добавить department_name.
Вот первую часть пишу select first_name, last_name, department_id from employees.
А как добавить department_name, если находится в другой таблице 'Departments'?
Внизу можете увидеть, что first_name, last_name, department_id находится в таблице 'Employees'.
select first_name, last_name, department_id from employees where department_name not exists (select department_name from departments) order by employee_id
Попробовал так , но не работает.
Можно использовать несколько вариантов для решения данной задачи: сделать выборку из двух таблиц сразу, использовать соединения таблиц, использовать подзапрос.
Для целей как ваша обычно применяют левое соединение LEFT JOIN
SELECT first_name, last_name, department_id, department_name
FROM Employees AS e
LEFT JOIN Departments AS d ON (e.department_id = d.id)
В случае, если department_id будет равен null (или будет отсутсвовать соответствующая запись присоединяемой таблицы), то все равно будет возвращен полный набор данных исходной таблицы employees.
В случае, когда нужно обеспечить соединение (пересечение таблиц) для существующих записей используют внутренее соединение INNER JOIN. Если условие соединения не выполняется, то строка исключается из результирующего набора. Аналогичное поведение будет при выборке из двух таблиц сразу:
SELECT ...
FROM Employees AS e, Departments as d
WHERE e.department_id = d.id
то есть строится произведение таблиц, и фильтруются нужные записи.
Третий вариант - использовать подзапрос:
SELECT first_name
,(
SELECT d.name
FROM departments as d
WHERE d.id = e.department_id
) as dep_name
FROM Employees as e
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости