WHERE
Предложение WHERE
предназначено для ограничения количества возвращаемых строк, теми которые нас интересуют.Условие после ключевого слова WHERE
может быть простым, как проверка “AMOUNT = 3
”, так и сложным, запутанным выражением, содержащим подзапросы, предикаты, вызовы функций, математические и логические операторы, контекстные переменные и многое другое.
Условие в предложении WHERE
часто называют условием поиска, выражением поиска или просто поиск.
В DSQL и ESQL, выражение поиска могут содержать параметры.Это полезно, если запрос должен быть повторен несколько раз с разными значениями входных параметров.В строке SQL запроса, передаваемого на сервер, вопросительные знаки используются как заполнители для параметров.Их называют позиционными параметрами, потому что они не могут сказать ничего кроме как о позиции в строке.Библиотеки доступа часто поддерживают именованные параметры в виде :id
, :amount
, :a
и т.д.Это более удобно для пользователя, библиотека заботится о трансляции именованных параметров в позиционные параметры, прежде чем передать запрос на сервер.
Условие поиска может также содержать локальные (PSQL) или хост (ESQL) имена переменных, предваряемых двоеточием.
SELECT ... FROM ... [...] WHERE <search-condition> [...]
Параметр | Описание |
---|---|
search-condition |
Логическое выражение возвращающее |
Только те строки, для которых условие поиска истинно будут включены в результирующий набор.Будьте осторожны с возможными получаемыми значениями NULL
: если вы отрицаете выражение, дающее NULL
с помощью NOT
, то результат такого выражения все равно будет NULL
и строка не пройдёт.Это демонстрируется в одном из ниже приведённых примеров.