Работа с таблицами. Внесение, извлечение, поиск и удаление данных
Предложение HAVING
Чтобы вывести среднюю зарплату сотрудников в различных подразделениях (должностях), используется предложение GROUP BY, например:
select title, AVG(salary) from employee_data GROUP BY title;
Результат запроса приведен на рис. 5.16.
Предположим теперь, что требуется вывести только те подразделения, где средняя зарплата более 100000. Это можно сделать с помощью предложения HAVING.
select title, AVG(salary) from employee_data GROUP BY title HAVING AVG(salary) > 100000;
Результат запроса приведен на рис. 5.17.
Задание
Вывести подразделения и средний возраст, где средний возраст больше 30.
Возможное решение
mysql> select title, AVG(age) -> from employee_data -> GROUP BY title -> HAVING AVG(age) > 30;
Результат запроса приведен на рис. 5.18.
Удаление записей из таблицы
Для удаления записей из таблицы можно использовать оператор DELETE.
Оператор удаления DELETE требует задания имени таблицы и необязательных условий.
DELETE from имя_таблицы [WHERE условия];
Примечание: Если никакие условия не будут заданы, то удаляются все данные в таблице.
Предположим, один из специалистов по мультимедиа 'Василий Пупкин' уволился из компании. Надо удалить его запись.
DELETE from employee_data WHERE l_name = 'Пупкин';
Результат запроса приведен на рис. 5.19.