Найти имена всех сотрудников, которые работают в отделе ИТ
Агрегатная функция MySQL: упражнение 2 с решением
Напишите запрос, чтобы найти имя (имя, фамилия) всех сотрудников, которые работают в ИТ-отделе.
Пример таблицы: сотрудники
Код:
SELECT first_name, last_name
FROM employees
WHERE department_id
IN (SELECT department_id FROM departments WHERE department_name='IT');
Пояснение:
Синтаксис 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 программирования