Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

BNF-нотация

Опишем синтаксис оператора выборки данных (оператора SELECT) более точно. При описании синтаксиса операторов обычно используются условные обозначения, известные как стандартные формы Бэкуса-Наура (BNF).

В BNF обозначениях используются следующие элементы:

- Символ "::=" означает равенство по определению. Слева от знака стоит определяемое понятие, справа - собственно определение понятия.

- Ключевые слова записываются прописными буквами. Они зарезервированы и составляют часть оператора.

- Метки-заполнители конкретных значений элементов и переменных записываются курсивом.

- Необязательные элементы оператора заключены в квадратные скобки [].

- Вертикальная черта | указывает на то, что все предшествующие ей элементы списка являются необязательными и могут быть заменены любым другим элементом списка после этой черты.

- Фигурные скобки {} указывают на то, что все находящееся внутри них является единым целым.

- Троеточие "…" означает, что предшествующая часть оператора может быть повторена любое количество раз.

- Многоточие, внутри которого находится запятая ".,.." указывает, что предшествующая часть оператора, состоящая из нескольких элементов, разделенных запятыми, может иметь произвольное число повторений. Запятую нельзя ставить после последнего элемента. Замечание: данное соглашение не входит в стандарт BNF, но позволяет более точно описать синтаксис операторов SQL.

- Круглые скобки являются элементом оператора.

 

6-7.3.4.1 СИНТАКСИС ОПЕРАТОРА ВЫБОРКИ

В довольно сильно упрощенном виде оператор выборки данных имеет следующий синтаксис (для некоторых элементов мы дадим не BNF-определения, а словесное описание):

Оператор выборки::=

Табличное выражение

[ ORDER BY

{{ Имя столбца-результата [ ASC | DESC ]} | { Положительное целое [ ASC | DESC ]}}.,..];

Табличное выражение::=

Select-выражение

[

{ UNION | INTERSECT | EXCEPT } [ ALL ]

{ Select-выражение | TABLE Имя таблицы | Конструктор значений таблицы }

]

Select-выражение::=

SELECT [ ALL | DISTINCT ]

{{{ Скалярное выражение | Функция агрегирования | Select-выражение } [ AS Имя столбца ]}.,..}

| {{ Имя таблицы|Имя корреляции }.*}

| *

FROM {

{ Имя таблицы [ AS ] [ Имя корреляции ] [(Имя столбца.,..)]}

| { Select-выражение [ AS ] Имя корреляции [(Имя столбца.,..)]}

| Соединенная таблица }.,..

[ WHERE Условное выражение ]

[ GROUP BY {[{ Имя таблицы|Имя корреляции }.] Имя столбца }.,..]

[ HAVING Условное выражение ]

 


Где:

 

Функция агрегирования::=

COUNT (*) |

{
{ COUNT | MAX | MIN | SUM | AVG } ([ ALL | DISTINCT ] Скалярное выражение)

}

Конструктор значений таблицы::=

VALUES Конструктор значений строки.,..

Конструктор значений строки::=

Элемент конструктора | (Элемент конструктора.,..) | Select-выражение


<== предыдущая лекция | следующая лекция ==>
Примеры использования операторов | Стадия 1. Выполнение одиночного оператора SELECT
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 1362; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.