MySQL Subquery Упражнения: Найти имена сотрудников, которые являются менеджерами
MySQL Subquery: Упражнение 4 с решением
Напишите запрос, чтобы найти имя (имя, фамилия) сотрудников, которые являются менеджерами.
Пример таблицы: сотрудники
Код:
SELECT first_name, last_name
FROM employees
WHERE (employee_id IN (SELECT manager_id FROM employees));
Объяснение:
Синтаксис 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:
Структура базы данных «hr»:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос, чтобы найти имя (имя, фамилия) сотрудников, которые имеют менеджера и работали в отделе в США.
Далее: Напишите запрос, чтобы найти имя (имя, фамилия, имя) и зарплату сотрудников, зарплата которых превышает среднюю зарплату.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования