выражение — селекции:: = фраза — select
фраза — from
[фраза — where]
[фраза — группирования [фраза — having]]
фраза — select:: == SELECT [DISTINCT] спецификация — селекции
спецификация — селекции:: = * | список — элемент —селекции
элемент — селекции:: = имя — таблицы.*
| скалярное выражение
фраза — from:: = FROM список — элемент — from
элемент — from:: = имя — таблицы [псевдоним]
фраза — where:: = WHERE предикат
фраза — группирования:: = GROUP BY список — имя — столбца
фраза — having:: = HAVING предикат
С.5. ПРЕДИКАТЫ
предикат
:: = условие
|условие AND предикат
|условие OR предикат
|NOT предикат
условие
:: = условие — сравнения
| условие — between
|условие — like
|условие — in
|условие — exists
условие — сравнения
:: = скалярное — выражение оператор — сравнения скалярное — выражение
|скалярное — выражение оператор — сравнения
(выражение — селекции — для — столбца)
[скалярное—выражение IS [NOT] NULL
оператор – сравнения
:: =+| =| < | < | <= | > | > | > =
выражение — селекции — для — столбца
:: = фраза — селекции — для — столбца
|
|
фраза — from
[ фраза — where]
[фраза — группирования [фраза — having]]
фраза — селекции — для — столбца
:: = SELECT [DISTINCT] скалярное — выражение
условие — between
:: = имя — столбца [NOT] BETWEEN скалярное —выражение
AND скалярное — выражение условие — like
:: = имя — столбца [NOT] LIKE скалярное — выражение
условие — in
:: = скалярное выражение [NOT] IN (множество — скаляров)
множество — скаляров
:: = список — константа
| выражение — селекции — для — столбца
условие — exists
::= EXISTS (выражение—селекции)
С.6. ПРЕДЛОЖЕНИЯ МАНИПУЛИРОВАНИЯ ДАННЫМИ
предложение
:: = предложение — select
| предложение — update
| предложение — delete
| предложение — insert
предложение — select
:: = выражение — union [фраза — упорядочения];
выражение — union
:: = выражение — селекции [UNION выражение —union]
фраза — упорядочения
:: = ORDER BY список — элемент — упорядочения
элемент — упорядочения
:: = упорядочиваемый — столбец [ASC ] DESC]
упорядочиваемый — столбец
:: = имя — столбца | целое
предложение — update
:: = UPDATE имя — таблицы [псевдоним]
SET список — присваивание — столбцу [фраза — where];
присваивание — столбцу
:: = имя — столбца = скалярное — выражение
| имя — столбца = NULL
предложение — delete
:: = DELETE FROM имя — таблицы [псевдоним] [фраза — where]
предложение — insert
:: = INSERT INTO имя — таблицы (список —имя — столбца)
исходные — значения;
исходные — значения
:: = VALUES (список — элемент — вставки)
| выражение — селекции
элемент — вставки
:: = константа | NULL
ПРИЛОЖЕНИЕ D
ТРЕБОВАНИЯ СИСТЕМЫ К ОБОРУДОВАНИЮ И ОПЕРАЦИОННОЙ ОБСТАНОВКЕ