Основные элементы языка sql
Название элемента Языка SQL |
Функциональное значение |
Функциональное Назначение |
|||
SELECT (выбрать) |
Оператор |
Обеспечивает выбор данных из указанных столбцов и (если необходимо) выполнение перед выводом их преобразование в соответствии с указанными операторами и (или) функциями |
|||
FROM (из) |
- “ - |
Указывает таблицы, в которых расположе-ны указанные столбцы |
|||
WHERE (где) |
- “ - |
Обеспечивает отбор строк из указанных таблиц в соответствии с указанным пе-речнем условий отбора* строк |
|||
GROUP BY (группируя по) |
- “ - |
Формирование групп с одинаковым значением заданных столбцов с тем, чтобы получить для каждой группы** единственное агрегированное значение, используя в предложении SE-LECT SQL - функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение) |
|||
HAVING (имея) |
- “ - |
Имея в результате лишь те группы***, ко-торые удовлетворяют указанному перечню условий отбора групп |
|||
VALUES (значения) |
- “ - |
См. оператор INSERT |
|||
UPDATE (изменение значения) |
- “ - |
Совместно с SET обеспечивает изменения значений в одном или нескольких столбцах таблицы: UPDATE <таблица или запрос> SET <столбец1=выражение1, столбец2=выражение, …> |
|||
INSERT (копировать) |
- “ - |
Совместно с INTO осуществляет копирование строк из одной таблицы в другую: INSERT INTO <таблица-назначения> или совместно с VALUES осуществляет добавление в таблицу и заполнение значениями одной строки: INSERT INTO <таблица-наз- начения> [столбец1, столбец2, … ] VALUES (значение1, значение2, …) |
|||
INTO (в) |
- “ - |
Совместно с SELECT обеспечивает создание таблицы на основе записей другой таблицы:SELECT <список полей> INTO <имя новой таблицы> |
|||
SET (установить) |
- “ - |
См. оператор UPDATE |
|||
DELETE (удалить) |
- “ - |
Удаление строк из таблиц: DELETE <табл.> |
|||
INNER JOIN (соединение) |
- “ - |
Совместно с ON обеспечивает связь таблиц БД между собой (по какому полю) |
|||
ON (по) |
- “ - |
Совместно с INNER JOIN обеспечивает связь таблиц БД между собой, указывая условие связи (по какому полю): имя_табл1 Inner Join имя_табл.2 On условие |
|||
ORDER BY (расположить по) |
- “ - |
Определяет, по какому столбцу происходит упорядочивание |
|||
ИТОГОВЫЕ ФУНКЦИИ для ГРУППОВЫХ ОПЕРАЦИ |
|||||
ASC (по возрастанию) |
Функция |
Указывает порядок сортировки – по возрастанию |
|||
DESC (по убыванию) |
- “ - |
Указывает порядок сортировки – по убыванию |
|||
SUM (сумма) |
- “ - |
SUM (поле) – вычисляет суммы всех значений заданного поля или выражения в группе |
|||
COUNT (количество) |
- “ - |
COUNT (поле) – находит кол-во записей в каждой группе |
|||
MAX (максимальное значение) |
- “ - |
MAX (поле) – находит наибольшее значение заданного поля или выражения в каждой группе |
|||
MIN (минимальное значение) |
- “ - |
MIN (поле) – находит наименьшее значение заданного поля или выражения в каждой группе |
|||
AVG (среднее значение) |
- “ - |
AVG (поле) – вычисляет среднее арифметическое заданного поля или выражения для каждой группы |
|||
FIRST (первое значение) |
- “ - |
FIRST (поле) – находит первое значение заданного поля или выражения в каждой группе |
|||
LAST (последнее значение) |
- “ - |
LAST (поле) - находит последнее значение заданного поля или выражения в каждой группе |
|||
|
|
|
|||
|
|
|
|||
СТАТИСТИЧЕСКИЕ ФУНКЦИИ по ПОДМНОЖЕСТВУ |
|||||
DAvg(“поле” ; “таблица”) |
функция |
Подсчёт среднего арифметического значения |
|||
DCount(“поле”;“таблица”) |
- “ - |
Подсчёт количества |
|||
DFirst(“поле”;“таблица”) |
- “ - |
Нахождение первого значения из группы |
|||
DLast(“поле”;“таблица”) |
- “ - |
Нахождение последнего значения из группы |
|||
DMax(“поле”;“таблица”) |
- “ - |
Определение максимального значения |
|||
DMin(“поле”;“таблица”) |
- “ - |
Определение минимального значения |
|||
DSum(“поле”;“таблица”) |
- “ - |
Подсчёт суммы |
|||
ЛОГИЧЕСКИЕ ОПЕРААЦИИ |
|||||
BETWEEN (между) |
Логическая операция |
Используется в логическом выражении для сравнения значения поля или выражения с заданным диапазоном значений |
|||
EXISTS (существует) |
- “ - |
Используется в логическом выражении для установления: “имеется ли в поле?” |
|||
LIKE (похоже на) |
- “ - |
Операция используется для сравнения поля или выражения с образцом |
|||
IN (принадлежит) |
- “ - |
Определяет , равно ли значение некоторого поля или выражения одному из перечисленных в списке значений |
|||
AND (операция «И») |
- “ - |
Используется в логических операциях по отбору строк |
|||
OR (операция «ИЛИ») |
- “ - |
Используется в логических операциях по отбору строк |
|||
NOT (операция «НЕ») |
- “ - |
Используется в логических операциях по отбору строк |
|||
IS NULL (не определено) |
- “ - |
Используется в логических операциях по отбору строк |
*Выражение WHERE включает набор условий для отбора строк:
WHERE [NOT] WHERE_условие [ [AND I OR] [NOT] WHERE_условие] . . . ,
где WHERE _условие имеет следующую конструкцию:
значение1{ = I <> I < I <= I > I >= } значение2 .
Кроме традиционных операций сравнений в выражении WHERE используются условия (логи-
ческие операции):
BETWEEN (между),
LIKE (похоже на),
IN (принадлежит),
IS NULL (не определено),
EXISTS (существует),
которые могут предваряться операцией NOT (НЕ). Критерий отбора строк формируется из одного
или нескольких условий, соединённых логическими операциями:
AND – когда должны удовлетворяться оба разделяемых с помощью AND усло-
вия;
OR – когда должно удовлетворяться одно из разделяемых с помощью OR усло-
вий;
AND NOT - когда должно удовлетворяться первое условие и не должно второе;
OR NOT - когда или должно удовлетворяться первое условие или не должно
удовлетворяться второе.
Причём существует приоритет AND над OR (сначала выполняются все операции AND и только после этого операции OR). Для получения желаемого результата WHERE условия должны быть введены в правильном порядке, который можно организовать введением скобок.
При обработке условия числа сравниваются алгебраически. Отрицательные числа считаются меньшими, чем положительные, независимо от их абсолютной величины. Строки символов сравниваются в соответствии с их представлением в коде, используемом в конкретной СУБД. Если сравниваются две строки символов, имеющих разные длины, более короткая дополняется справа пробелами для того, чтобы они имели одинаковую длину перед осуществлением сравнения.
** Синтаксис фразы GROUP BY имеет вид:
GROUP BY [таблица. ] столбец [ , [таблица. ] столбец ] . . . [ HAVING фраза ]
GROUP BY инициирует перекомпоновку формируемой таблицы по группам, каждая из которых имеет одинаковое значение в столбцах, включённых в перечень GROUP BY. Далее к этим группам применяются агрегирующие функции, указанные во фразе SELECT, что приводит к замене всех значений группы на единственное значение (сумма, количество и тому подобное).
*** С помощью фразы HAVING, (синтаксис которой почти не отличается от синтак-
сиса фразы WHERE)
HAVING [NOT] HAVING _условие [ [AND I OR] [NOT] HAVING _условие] . . . ,
можно исключить из результата группы, не удовлетворяющее заданным условиям:
значение1{ = I <> I < I <= I > I >= } {значение2 I (подзапрос) SQL_функция} .