Я дам вам терминологию, используемую с SQL Server.Некоторые из них (безусловно, те, что в вашем вопросе) будут чрезвычайно распространены во всех системах баз данных, некоторые могут зависеть от конкретной системы.
От высшего уровня к низшему:
Сценарий.Один файл, содержащий код SQL.Может содержать несколько партий
Пакет.Пакет - это блок, в котором работа передается на сервер.В SQL Server каждый пакет (обычно) ограничен GO
.Разделение скрипта на пакеты - это работа, выполняемая клиентскими инструментами.Пакет может содержать несколько операторов.
Оператор (он же Команда 1 или Запрос).Это наименьшая единица индивидуальной работы, с которой будет работать сервер.Т.е. каждое утверждение является чем-то «полным», что заставит сервер выполнить некоторую работу и может привести к изменению данных и / или возвращению набора результатов.Обычно сервер компилирует каждый оператор отдельно (но может выполнять каждую компиляцию для каждого оператора в пакете перед выполнением любого из них).
Clause 2 .Пункт - это подразделение утверждения, но, остерегайтесь, некоторые утверждения могут состоять только из одного предложения, которое может немного помутить воду.Например, некоторые системы баз данных примут SELECT 10;
в качестве запроса.Это оператор SELECT
, состоящий только из предложения SELECT
.Несколько типов операторов могут использовать одни и те же типы предложений.Например, оба оператора SELECT
и DELETE
могут содержать предложение WHERE
.Кроме того, большинство операторов будет содержать предложение с одинаковым именем.
Выражение 2 .Выражение - это нечто, производящее скалярное значение (обратите внимание, что в большинстве случаев это «одно скалярное значение на строку», а не «всего одно скалярное значение»)
- Predicate,Булево выражение, наиболее часто встречающееся в
WHERE
предложениях, WHEN
предложениях и CHECK
ограничениях.Они особенно вызваны тем, что не все системы баз данных поддерживают видимый пользователем логический тип данных, и поэтому они не всегда обрабатываются так же, как другие выражения.
1 Многие клиентские библиотеки предоставляют какой-либо объект команды для отправки запросов в систему базы данных.Однако, чтобы мутить воду дальше, многие из них примут партию.Тем не менее команда, похоже, застряла как имеющая значение, аналогичное утверждению, возможно, потому что в подавляющем большинстве случаев объект команды не используется для нескольких операторов за один раз.
2 Обратите внимание, что в некоторой степени они имеют один и тот же уровень.Предложение SELECT
может содержать выражение CASE
, состоящее из нескольких предложений WHEN
и THEN
.