1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuthus5-Database-SQL-Actual-Combat

Клонировать/Скачать
5.查找所有员工的last_name和first_name以及对应部门编号dept_no.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 10.03.2025 00:53 c66e7df

Найти все последние и первые имена сотрудников вместе с соответствующими им номерами отделов dept_no, включая сотрудников, у которых нет назначенного конкретного отдела.

Описание задачи

Найдите все последние и первые имена сотрудников вместе с соответствующими им номерами отделов dept_no, включая сотрудников, у которых нет назначенного конкретного отдела.

CREATE TABLE `dept_emp` (
  `emp_no` int(11) NOT NULL,
  `dept_no` char(4) NOT NULL,
  `from_date` date NOT NULL,
  `to_date` date NOT NULL,
  PRIMARY KEY (`emp_no`, `dept_no`)
);

CREATE TABLE `employees` (
  `emp_no` int(11) NOT NULL,
  `birth_date` date NOT NULL,
  `first_name` varchar(14) NOT NULL,
  `last_name` varchar(16) NOT NULL,
  `gender` char(1) NOT NULL,
  `hire_date` date NOT NULL,
  PRIMARY KEY (`emp_no`)
);

Решение задачи

SELECT last_name, first_name, dept_no FROM employees AS e LEFT JOIN dept_emp AS d ON e.emp_no = d.emp_no;

Объяснение решения

Использование LEFT JOIN позволяет получить всех сотрудников, даже если они не имеют назначенного отдела.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xuthus5-Database-SQL-Actual-Combat.git
git@api.gitlife.ru:oschina-mirror/xuthus5-Database-SQL-Actual-Combat.git
oschina-mirror
xuthus5-Database-SQL-Actual-Combat
xuthus5-Database-SQL-Actual-Combat
master