Опубликован: 16.01.2007 | Уровень: для всех | Доступ: свободно
Лекция 5:

Работа с таблицами. Внесение, извлечение, поиск и удаление данных

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >

Предложение HAVING

Чтобы вывести среднюю зарплату сотрудников в различных подразделениях (должностях), используется предложение GROUP BY, например:

select title, AVG(salary)
from employee_data
GROUP BY title;

Результат запроса приведен на рис. 5.16.

Вывод средней зарплаты сотрудников по подразделениям

Рис. 5.16. Вывод средней зарплаты сотрудников по подразделениям

Предположим теперь, что требуется вывести только те подразделения, где средняя зарплата более 100000. Это можно сделать с помощью предложения HAVING.

select title, AVG(salary)
from employee_data
GROUP BY title
HAVING AVG(salary) > 100000;

Результат запроса приведен на рис. 5.17.

Вывод средней зарплаты определённого диапазона по подразделениям

Рис. 5.17. Вывод средней зарплаты определённого диапазона по подразделениям

Задание

Вывести подразделения и средний возраст, где средний возраст больше 30.

Возможное решение

mysql> select title, AVG(age)
    -> from employee_data
    -> GROUP BY title
    -> HAVING AVG(age) > 30;

Результат запроса приведен на рис. 5.18.

Вывод подразделения и среднего возраста, где средний возраст больше 30 лет

Рис. 5.18. Вывод подразделения и среднего возраста, где средний возраст больше 30 лет

Удаление записей из таблицы

Для удаления записей из таблицы можно использовать оператор DELETE.

Оператор удаления DELETE требует задания имени таблицы и необязательных условий.

DELETE from имя_таблицы [WHERE условия];

Примечание: Если никакие условия не будут заданы, то удаляются все данные в таблице.

Предположим, один из специалистов по мультимедиа 'Василий Пупкин' уволился из компании. Надо удалить его запись.

DELETE from employee_data
WHERE l_name = 'Пупкин';

Результат запроса приведен на рис. 5.19.

Результат удаления записи из таблицы

Рис. 5.19. Результат удаления записи из таблицы
< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай