Читайте также:
|
|
Основное 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.
4. having — обрабатывает каждую из созданных групп записей, оставляя только те из них, которые удовлетворяют условию поиска; этот оператор используется как правило вместе с оператором GROUP BY.
5. select — выбирает из таблицы, полученной в результате применения перечисленных операторов, только указанные
столбцы.
6. order by — сортирует записи таблицы При этом в условии сортировки можно обращаться лишь к тем столбцам, которые указаны в операторе select.
Дата добавления: 2015-07-08; просмотров: 158 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Удаление данных | | | Декартово произведение наборов записей |