Язык SQL предоставляет ряд функций, используемый в выражениях, из которых наиболее часто применяются следующие:
- AVERAGE ( )- среднее значение;
- COUNT ( ) – количество значений;
- MAXIMUM ( ) – максимальное значение;
- MINIMUM ( ) – минимальное значение;
- SUM ( ) – сумма значений.
3.17.2.5.3 Характеристика оператора SELECT
Отбор данных таблиц заключается в выборке из таблиц полей и записей, удовлетворяющих заданным условиям. Результат выполнения запроса, на основании которого отбираются записи, называются выборкой. Данные можно выбирать из одной или нескольких таблиц с помощью оператора SELECT.
Оператор SELECT - важнейший оператор языка SQL. Он используется для отбора записей, удовлетворяющих сложным критериям поиска. Этот оператор имеет следующий формат:
SELECT [DISTINCT]
<Список полей> или *
FROM <Список таблиц>
[WHERE <Условия отбора>]
[ORDER BY <Список полей для сортировки>]
[GROUP BY <Список полей для группирования >]
[HAVING <Условия группирования >]
Примечание. При описании операторов языка следует опускать несущественные операнды и элементы, для обозначения отдельных элементов использовать символы < и > (эти символы при программировании не указываются), необязательные элементы конструкций языка заключаются в квадратные скобки. Для наглядности зарезервированные слова языка SQL следует писать строчными, а имена прописными буквами. Элементы в списках, например, имена полей и таблиц должны быть разделены запятыми.
Результатом выполнения оператора SELECT является набор данных, в котором могут быть разрешены или запрещены повторяющиеся записи (имеющие одинаковые
значения всех полей). Этим управляет описатель DISTINCT. Если описатель отсутствует, то в набор данных могут входить записи, имеющие одинаковые значения всех полей.
В описание оператора SELECT требуется включать список полей и операнд FROM. Остальные операнды не обязательны. В операнде FROM перечисляются имена таблиц, из которых отбираются записи. Список должен содержать, как минимум, одну таблицу.
Список полей определяет состав полей результирующего набора данных, эти поля могут принадлежать разным таблицам. В списке должно быть задано хотя бы одно поле. Если в набор требуется включить все поля таблицы (таблиц), то вместо перечисления имен можно указать символ “*”. Если список содержит поля нескольких таблиц, то для указания принадлежности поля к той или иной таблице используют составное имя, которое включает имя таблицы и имя поля, разделенное точкой: <Имя таблицы>.<Имя поля>.
Операнд WHERE задает критерии, которым должны удовлетворять записи в результирующем наборе данных. Выражение, описывающее условие отбора, является логическим. Его элементами могут быть имена полей, операции сравнения, арифметические и логические операции, скобки, функции LIKE, NULL, IN и др.
Операнд GROUP BY позволяет выделять группы записей в результирующем наборе данных. Группой являются записи с одинаковыми значениями в полях, перечисленные после операнда GROUP BY. Выделение групп нужно для выполнения групповых операций над записями.
Операнд HAVING используется совместно с операндом GROUP BY для отбора записей внутри групп. Правила записи условия группирования аналогичны правилам формирования условию отбора операнда WHERE.
Операнд ORDER BY содержит список полей, определяющий порядок сортировки записей результирующего набора данных. По умолчанию сортировка по каждому полю выполняется в порядке возрастания значений. Если необходимо задать для поля сортировку по убыванию, то после имени этого поля указывается описатель DESC.