Информационные технологии > Основные операторы языка SQL > Операторы манипулирования данными
Оператор выборки записей SELECT является наиболее важным и имеет большие функциональные возможности. Его полный формат имеет вид:
SELECT [ALL| DISTINCT]
список_полей
FROM список_таблиц
[WHERE условие_выборки]
[GROUP BY поля_группировки]
[ORDER BY поля_сортировки]
Конструкции, приведенные в квадратных скобках, не являются обязательными.
При указании ключевого слова ALL результирующая таблица может иметь повторяющиеся строки. Этот параметр применяется по умолчанию. Использование ключевого слова DISTINCT позволяет включать только неповторяющиеся строки. Рассмотрим пример выборки заказанных книг по разделу "Маркетинг":
SELECT DISTINCT basket.isbn, book.name, book.authors
FROM basket, book
WHERE book.section = "Маркетинг"
В этом операторе для каждой книги для всех записей таблицы КОРЗИНА ЗАКАЗОВ происходит проверка связанной по ключевому полю isbn записи таблицы book на предмет равенства значения поля section строке "Маркетинг", и, если это так, то ISBN-код, наименование и авторы книги попадают в результирующую таблицу запроса. Так как одна и та же книга может входить во многие заказы, то во избежание повторов в операторе SELECT указано ключевое слово DISTINCT.
В списке полей выборки могут быть выражения, позволяющие проводить вычисления с данными таблиц. Следующий оператор дает стоимость каждого пункта для заказа с номером 1623:
SELECT DISTINCT basket.isbn, book.name, basket.quantity*book.price
FROM basket, book
WHERE basket.order_numb = 1623
Если же нужно вычислить полную стоимость каждого заказа, то применяется операнд GROUP BY, позволяющий сгруппировать записи по определенным полям. Для получения стоимостей каждого заказа можно применить оператор:
SELECT basket.ordernumb, SUM(basket.quantity*book.price)
FROM basket, book
|