Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Уточнения запроса

Основное SQL-выражение для выборки данных, описанное в разд. 3.1, имеет вид:

SELECT списокСтолбцов FROM списокТаблиц;

Такой запрос возвращает таблицу, полученную из указанной в операторе from (или из декартового произведения указанных таблиц, если их несколько), путем выделения в ней только тех столбцов, которые определены в операторе select. Я уже упо­минал, что для выделения требуемых записей (строк) исходной таблицы используется выражение, следующее за ключевым словом (оператором) where. Оператор where является наиболее часто используемым, хотя и не обязательным в SQL-выражении. Именно из-за популярности его можно считать основным компонентом SQL-выражения. Кроме where, в SQL-выражениях используются и другие операторы, позволяющие уточнить запрос.

Для уточнения запроса на выборку данных служит ряд дополни­тельных операторов:

  • where (где) — указывает записи, которые должны войти в результатную таблицу (фильтр записей);

  • group by (группировать по) — группирует записи по значениям определенных столбцов;

  • having (имеющие, при условии) — указывает группы записей, которые должны войти в результатную таблицу (фильтр групп);

  • order by (сортировать по) — сортирует (упорядочивает) записи.

Эти операторы не являются обязательными. Их можно совсем не использовать, или использовать лишь некоторые из них, или все сразу. Если применяются несколько операторов, то в SQL-выражении они используются в указанном в списке порядке.

Таким образом, запрос данных из таблицы с применением всех перечисленных операторов уточнения запроса имеет следующий вид:

SELECT списокСтолбцов FROM имяТаблицы

WHERE условиеПоиска

GROUP BY столбецГруппировки

HAVING условиеПоиска

ORDER BY условиеСортировки;

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

  1. from — выбирает таблицу из базы данных; если указано несколько таблиц, то выполняется их декартово произведение и результирующая таблица передается для обработки следующему оператору.

  2. where — из таблицы выбираются записи, отвечающие условию поиска, и отбрасываются все остальные.

  3. group by — создаются группы записей, отобранных с помощью оператора where (если он присутствует в SQL-выражении); каждая группа соответствует какому-нибудь значению столбца группирования. Столбец группирования может быть любым столбцом таблицы, заданной в операторе from, а не только тем, который указан в select.

  1. having — обрабатывает каждую из созданных групп записей, оставляя только те из них, которые удовлетворяют условию поиска; этот оператор используется как правило вместе с оператором GROUP BY.

  2. select — выбирает из таблицы, полученной в результате применения перечисленных операторов, только указанные столбцы.

  3. order by — сортирует записи таблицы При этом в условии сортировки можно обращаться лишь к тем столбцам, которые указаны в операторе select.