Цветовое кодирование в окне запросов
Синий ключевое слово
Серый оператор
Темно-зеленый комментарий
Темно-красный хранимая процедура
Зеленый системная таблица
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