Цветовое кодирование в окне запросов

Синий ключевое слово

Серый оператор

Темно-зеленый комментарий

Темно-красный хранимая процедура

Зеленый системная таблица

 

Select

Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью единственного предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица . К этой новой таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга. Представляет исторический интерес тот факт, что именно возможность включения одного предложения SELECT внутрь другого послужила мотивировкой использования прилагательного "структурированный" в названии языка SQL.

 

SELECT список полей

[ INTO имя_новой_табл.]

FROM имя_источника

[WHERE условие]

[GROUP BY ]

[HAVING ]

[UNION ]

[ORDER BY [ASC | DESC]]

[COMPUTE ]

[FOR]

[OPTION]

Каждая строка – это отдельный раздел

Раздел SELECT

SELECT [ALL | DISTINCT] [TOP n [PERCENT] [WITH TIES]]

DISTINCT – исключает повторяющиеся строки

TOP n [PERCENT] – макс. кол-во выводимых строк [в процентах от

всех строк]

WITH TIES – при сортировке дополнительно включается цепочка

однотипных строк, не вошедшая из-за ограничений TOP n.

Раздел INTO – помещает результат выборки в отдельную таблицу.

Раздел FROM - { таблица | представление} [псевдоним]

 

[,{таблица | представление} [псевдоним]]} ...

Раздел WHERE - представляет условие отбора, которое возвращает TRUE или FALSE.

Условие отбора выполняется для каждой строки таблицы, и только если TRUE,

то строка включается в результат выборки. Для реализации условия

используются: =, <>, !=, >, >=, !>, <, >=, !<, NOT

Раздел GROUP BY- данные группируются по одному или более столбцам

таким образом, что для всех строк с одинаковыми значениями в столбце,

в результате выборки возвращается одна строка. В результате выборки

включаются только столбцы, по которым производится группировка и столбцы

использующие функции агрегатирования.

 

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

COUNT(имя_столбца)–возвращает количество строк не с пустыми значениями

COUNT(*)–возвращает общее количество строк

MAX(имя_столбца)-возвращает макс. значение в пределах группы

MIN(имя_столбца) - возвращает миним. значение в пределах группы

AVG (имя _столбца)– возвращает среднее арифметическое значение для столбца

с числовым типом.

SUM(имя _столбца)– возвращает сумму значений столбца в пределах группы

Пример:

SELECT ot, SUM(SN), COUNT(*) FROM i1 GROUP BY ot

Раздел HAVING – используется совместно с GROUP BY, ограничивает набор группиру-

емых строк, аналогичен WHERE

 

Раздел UNION - слияние двух и более таблиц

Запрос1

UNION [ALL]

Запрос2

UNION [ALL]

Запрос3

……………….

Запрос1+Запрос2+Запрос3+…(строки запросов объединяются)

По умолчанию не допускается вставка повторяющихся строк. Параметр ALL разрешает повторения.

Пример:

SELECT ot,tn,ok FROM bd WHERE ot=200

UNION ALL

SELECT ot,tn,sn FROM i1 WHERE ot=11

UNION ALL

SELECT ot,tn,su FROM i2 WHERE ot=21

 

Раздел ORDER BY {столбец или вычисл. выражение [ASC | DESC]}[,…n]

Выполняется сортировка по нескольким столбцам

Пример:

SELECT ot, tn, f, ok from bd ORDER BY ot , f DESC

 

Раздел COMPUTE используется для агрегатирования данных:

AVG |COUNT | MAX | MIN | SUM

(выражение) [,…n]

[BY (выражение) [,…n] – применяется агрегатирование для отдельных групп

выражение – выражение для которого применяется агрегатирование

Пример:

SELECT ot,tn,ok,nal FROM bd WHERE ot=200 COMPUTE SUM(ok),

COUNT(ok), AVG(ok), AVG(nal)

Раздел FOR– применяется при работе с приложениями использ. DB-Library и XML

 

Раздел OPTION– используется для контроля ходом выполнения запроса

 

Создание, удаление базы данных

Create database database_name

Пример:

Create databaseNewbase;

Drop database Newbase