logo
Лаб

Подразделения

Усл_наименование

Категория

Профиль

Телефон

Бухгалтерия

Третья

Обеспечивающий

777

Отдел кадров

Вторая

Вспомогательный

333

Отдел режима

Третья

Вспомогательный

110

Отдел сбыта

Вторая

Основной

666

Отдел снабжения

Вторая

Основной

444

Планово-экономический отдел

Вторая

Основной

888

Производственный отдел

Первая

Основной

555

Руководство

Первая

Основной

111

Секретариат

Третья

Обеспечивающий

222

Категории подразделений с профилем «Основной»

SELECT Подразделения.Категория, Подразделения.Профиль

FROMПодразделения

WHERE((Подразделения.Категория)<>”Третья”)

GROUP BYПодразделения.Категория, Подразделения.Профиль

HAVING((Подразделения.Профиль)=”Основной”)

ORDER BYПодразделения.КатегорияDESC;

Категория

Профиль

Первая

Основной

Вторая

Основной

Рисунок 2.4. - Пример запроса на выборку данных с предложениями GROUP BY, HAVING и ORDER BY

Специфику имеет отбор записей с «пусты­ми» значениями определенных полей. В реляционных СУБД и языке SQL «пустых», т. е. неопределенных, значе­ний полей не бывает. Иначе говоря, значением числового поля может быть число, равное «О», а значением других типов полей (текстовые, дата) может быть нулевое значение—«Null».

Отбор записей с пустыми значениями применяется тогда, когда нужно отдельно сформировать и проанализировать набор данных с записями, содержащими нулевые значения для число­вых полей, или не имеющие, в силу каких-либо причин, опреде­ленного значения для других типов полей.

На рисунке 2.5. пред­ставлен пример запроса, отбирающего данные из таблицы «Со­трудники» (рисунок 2.2.) с «пустыми» значениями по полю «Ученая степень», иначе говоря, формирующий спи­сок сотрудников, не имеющих ученых степеней.

Лабораторная работа № 1. Создайте таблицы с выбранными вами полями и сформируйте запросы, аналогичные изученным в данном разделе.