Упражнения по подзапросам MySQL: найдите имена сотрудников, у которых есть менеджер и которые работали в отделе США.

Подзапрос MySQL: упражнение 3 с решением

Напишите запрос, чтобы найти имена (first_name, last_name) сотрудников, у которых есть менеджер и которые работали в отделе в США.

Пример таблицы: сотрудники

Пример таблица: отделы

Пример таблицы: местоположения

Код:

  ВЫБРАТЬ first_name, last_name ИЗ сотрудников WHERE manager_id в  (выберите идентификатор сотрудника ИЗ сотрудников, ГДЕ Department_id IN (ВЫБЕРИТЕ идентификатор отдела из отделов WHERE location_id IN (выберите location_id из местоположений, где country_id = 'US')));  

Пояснение :

Синтаксис подзапроса MySQL:

 оператор сравнения операнда IN (подзапрос) оператор сравнения операнда SOME (подзапрос) 

Где оператор сравнения — один из этих операторов

  => =! =  

a Оператор nd IN проверяет, находится ли значение в наборе значений.

Например:

  mysql> SELECT 2 IN (0,3,  5,7);  -> 0mysql> ВЫБЕРИТЕ 'wefwf' IN ('wee', 'wefwf', 'weg');  -> 1  

При использовании с подзапросом слово IN является псевдонимом для = ANY. Таким образом, эти два оператора одинаковы:

  SELECT s1 FROM t1 WHERE s1 = ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2  );  

IN и = ANY не являются синонимами при использовании со списком выражений. IN может принимать список выражений, но = ANY не может.

Редактор кода MySQL:

Структура базы данных ‘hr’:

Предыдущий: Напишите запрос, чтобы найти имена (first_name, last_name) всех сотрудников, которые работают в ИТ-отдел.
Далее: Напишите запрос, чтобы найти имена (first_name, last_name) сотрудников, которые являются менеджерами.

Оцените статью
nanomode.ru
Добавить комментарий