С.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

ТРЕБОВАНИЯ СИСТЕМЫ К ОБОРУДОВАНИЮ И ОПЕРАЦИОННОЙ ОБСТАНОВКЕ