С.4. ВЫРАЖЕНИЯ СЕЛЕКЦИИ
выражение — селекции : : = фраза — 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
ТРЕБОВАНИЯ СИСТЕМЫ К ОБОРУДОВАНИЮ И ОПЕРАЦИОННОЙ ОБСТАНОВКЕ