Базовые зарезервированные слова SQL

 🟢 Базовые зарезервированные слова SQL. Введение

SQL-языки (SQL-92, PostgreSQL, MySQL, Oracle, SQL Server и др.) имеют свои собственные списки зарезервированных слов, и они отличаются. Полностью универсального списка нет, потому что стандарт SQL определяет одно множество, а конкретные СУБД могут добавлять или изменять его.

Тем не менее, существует ядро зарезервированных слов, которые встречаются во всех основных СУБД и основаны на стандарте ANSI SQL-92/SQL-99. Вот список таких универсальных зарезервированных слов, которые почти наверняка зарезервированы в любой реализации:

Базовые зарезервированные слова SQL

  • SELECT

  • FROM

  • WHERE

  • GROUP

  • BY

  • HAVING

  • ORDER

  • INSERT

  • INTO

  • VALUES

  • UPDATE

  • SET

  • DELETE

  • CREATE

  • ALTER

  • DROP

  • TABLE

  • VIEW

  • INDEX

  • PRIMARY

  • KEY

  • FOREIGN

  • REFERENCES

  • CHECK

  • CONSTRAINT

  • NOT

  • NULL

  • AND

  • OR

  • LIKE

  • IN

  • IS

  • BETWEEN

  • EXISTS

  • UNION

  • ALL

  • DISTINCT

  • JOIN

  • INNER

  • LEFT

  • RIGHT

  • FULL

  • ON

  • AS

  • CASE

  • WHEN

  • THEN

  • ELSE

  • END


👉 Это можно считать универсальным минимумом — эти слова:

  • определены в SQL-92 и последующих стандартах,

  • встречаются во всех популярных СУБД (PostgreSQL, MySQL/MariaDB, Oracle, MS SQL Server, SQLite),

  • почти всегда зарезервированы и не могут использоваться как идентификаторы без экранирования.


Примеры слов, зарезервированных в PostgreSQL, MySQL, Oracle и SQL Server

Вот список слов, которые с большой степенью уверенности являются зарезервированными во всех четырёх. Не исчерпывающий, но хорошее ядро:

СловоНазначение / где используется
SELECTоператор выборки данных
FROMуказывает таблицу источника
WHEREфильтр строк
INSERTвставка данных
UPDATEобновление данных
DELETEудаление строк
CREATEсоздание объектов (таблиц, индексов и т.д.)
DROPудаление объектов
ALTERизменение структуры объекта
TABLEтип объекта таблица
VIEWпредставление
INDEXиндекс
PRIMARYчасть определения первичного ключа
FOREIGNчасть внешнего ключа
REFERENCESсвязь внешнего ключа
CONSTRAINTограничения
NOTлогическое отрицание / часть constraint
NULLспециальное значение “нет значения”
ANDлогическое «и»
ORлогическое «или»
LIKEоператор сравнения шаблона
INоператор множества / списка
ISиспользуется с NULL и др.
BETWEENдиапазонное сравнение
EXISTSпроверка на существование подзапроса
UNIONобъединение результатов выборок
ALLквантор / используется в UNION ALL и др.
DISTINCTуникальные значения
JOINобъединение таблиц
INNERвнутреннее соединение
LEFTлевое соединение
RIGHTправое соединение
FULLполное соединение (FULL JOIN)
ONусловие соединения
ASпсевдонимы / алиасы
CASEусловный оператор
WHENчасть конструкции CASE
THENчасть конструкции CASE
ELSEчасть конструкции CASE
ENDзавершение конструкции CASE или BEGIN-END и др.

Возможные вариации и оговорки

  • В разных версиях СУБД могут отличаться детали: например, слово может быть “зарезервировано всегда” или “зарезервировано только в определённых контекстах”.

  • Некоторые СУБД допускают использование зарезервированных слов как идентификаторов, если они заключены в кавычки или другие ограничения.

  • Есть слова, которые в одних СУБД зарезервированы, а в других — нет, или они “ключевые, но не полностью зарезервированы”.

🟢 Заключение

SQL постоянно развивается, появляются новые реализации, в действующих реализациях добавляются новые слова и конструкции, но ядровые слова, приведенные выше в данной статье, были и остаются основой любой реализации.


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии