Бази даних-20210115T104840Z-001 / Oracle_SQL_5
.pdfДополнительные фразы предложения SELECT
в SQL Oracle
Лабораторная работа 5
SELECT
1.Использование функций
2.GROUP BY, HAVING и ORDER BY
(см. Урок 5-6. « Уроки SQL»)
Синтаксис команды SELECT
SELECT {* | [DISTINCT | ALL]
список_выражений_выбора} [INTO список_переменных]
FROM список_спецификаций_таблиц [WHERE условие]
[[START WITH условие_спецификации_корня] CONNECT BY условие_рекурсивной_связи] [GROUP BY список_выражений_группировки [HAVING групповое_условие]]
[ORDER BY список_выражений_упорядочения];:
Функции SQL
имеют следующий формат:
имя_функции [(аргумент_1 [, аргумент_2]...)]
Он допускает, что функции могут иметь ноль, один или более аргументов. При отсутствии списка аргументов круглые скобки не используются.
Функции SQL
-встроенные функции
-определяемые пользователем функции
Каждая реляционная СУБД имеет свой собственный язык написания пользовательских функций, например, в Oracle таким языком является PL/SQL.
Встроенными являются предварительно определенные в языке функции. Ко второму классу относятся функции, которые пишутся пользователями на специальном языке, предполагающем в использование всех возможностей языка SQL.
5
SQL имеет много разных категорий функций
•действующие над значениями отдельной строки таблицы (функции одной строки), то есть в этих функциях в качестве аргументов используются значения столбцов одной строки и возвращают они одно значение;
•агрегатные функции (или групповые функции), оперируют значениями столбцов из множества строк и возвращают одно значение.
Мы разберем 2 категории
6
Агрегатные функции
В стандарте SQL определены следующие виды агрегатных функций:
•унарные агрегатные функции;
•бинарные агрегатные функции;
•функции инверсного распределения.
Унарные агрегатные функции (1)
Причем только такие, которые применяются к строкам таблицы. В стандарте SQL определены следующие унарные агрегатные функции:
•COUNT — подсчет количества значений в столбце или количества строк в таблице; •SUM — подсчет суммы;
•AVG — подсчет среднего значения; •MAX — выбор максимального значения; •MIN — выбор минимального значения ;
Унарные агрегатные функции (2)
•VAR_POP — дисперсия генеральной совокупности
•STDDEV_POP — среднее квадратичное отклонение генеральной совокупности;
•VAR_SAMP – выборочная дисперсия;
•STDDEV_ SAMP — среднее квадратичное отклонение выборочной дисперсии;
•EVERY — возвращает логическое значение TRUE, если все значения в столбце являются TRUE;
•ANY, SOME — возвращает логическое значение TRUE, если хотя бы одно значение в столбце является TRUE.
Унарные агрегатные функции (3)
Конкретные СУБД расширяют этот список специфическими агрегатными функциями. Например, в Oracle определено около 30 агрегатных функций.
Общий формат агрегатной функции следующий:
имя_функции ([ALL | DISTINCT] выражение) [FILTER (WHERE условие)]