кодесурса
«MySQL

MySQL Subquery Exercises: найдите имена сотрудников, которые имеют менеджера и работали в отделе в США

script1adsense2code
script1adsense3code

MySQL Subquery: Упражнение-3 с решением

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

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


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


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


Код:

SELECT first_name, last_name FROM employees 
WHERE manager_id in (select employee_id 
FROM employees WHERE department_id 
IN (SELECT department_id FROM departments WHERE location_id 
IN (select location_id from locations where country_id='US')));

Объяснение:

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

 операнд сравнения_оператор
операнд IN (подзапрос)
операнд сравнения_оператор НЕКОТОРЫЙ (подзапрос)

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

=  >  <  >=  <=  <>  != 

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

Например :

mysql> SELECT 2 IN (0,3,5,7);
        -> 0
mysql> SELECT '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:

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

Структура базы данных «hr»:

«час

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

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

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code