Сложный SQL запрос SELECT - MySQL

Узнай цену своей работы

Формулировка задачи:

сложный SQL запрос SELECT создать запрос, который будет возвращать : имя, фамилию, начальники фамилию, отдел, к которому они принадлежат вот что у меня получилось, ето вывожу имя фамилию и департамент. теперь нужно еще вывести имя начальника в соотведствии "superior_id" = "id" .
SELECT first_name, last_name, name FROM employees, departments WHERE employees.department_id = departments.id
СТРУКТУРА БД CREATE TABLE `departments` `id` `name` CREATE TABLE `employees` `id` `first_name` `last_name` `salary` `superior_id` `department_id`
SELECT first_name, last_name ,  name ,  (SELECT last_name FROM employees WHERE department_id = id) AS last_name_superior_id FROM employees, departments WHERE employees.department_id = departments.id
вот запрос ... - выводит имена начальника но постоянно одного и того же а не по очередно для каждого сотрудника у которого должен быть свой начальник

Решение задачи: «Сложный SQL запрос SELECT»

textual
Листинг программы
SELECT E.first_name, E.last_name,  E.name,  D.last_name AS last_name_superior_id 
FROM employees E, 
     departments D    -- здесь не помню, можно ли обозначать алиас так, или обязательно AS D
WHERE E.department_id = D.id

Объяснение кода листинга программы

  1. В коде представлен SQL-запрос на выборку данных из двух таблиц: employees (таблица «employees») и departments (таблица «departments»).
  2. Выборка данных осуществляется по следующему условию: сопоставление значений столбца department_id таблицы employees со значением столбца id таблицы departments.
  3. В результате выборки получаем следующие поля: first_name, last_name, name, last_name_superior_id.
  4. Обратите внимание на название поля last_name_superior_id. В данном случае, в таблице departments нет столбца с таким названием, поэтому для его вывода используется псевдоним (alias) last_name_superior_id.
  5. В запросе используется оператор AS для создания псевдонима.
  6. При использовании оператора AS, значение столбца выводится в запросе не напрямую, а через псевдоним (alias).
  7. Запрос написан на языке SQL и может быть выполнен в любой СУБД, которая поддерживает этот язык (например, MySQL, PostgreSQL, SQLite и др.).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5