Skip to content

16. Условие поиска T SQL

Pandas edited this page Jan 1, 2018 · 3 revisions

WHERE определяет условия поиска строк, возвращаемых запросом.

[ WHERE <search_condition> ] Imgur

Описание
<search_condition> Задает условия для строк, возвращаемых в результирующем наборе инструкции SELECT, выражения запроса или вложенного запроса. Задает обновляемые строки для инструкции UPDATE. Задает удаляемые строки для инструкции DELETE. Количество предикатов, которое может содержаться в условии поиска для инструкции Transact-SQL, не ограничено.
NOT Инвертирует логическое выражение, задаваемое предикатом
AND Объединяет два условия и выдает значение TRUE, если оба условия имеют значение TRUE.
OR Объединяет два условия и выдает значение TRUE, если хотя бы одно имеет значение TRUE.
< предикат > Выражение, возвращающее значения TRUE, FALSE или UNKNOWN.
expression Может являться именем столбца, константой, функцией, переменной, скалярным вложенным запросом или любым сочетанием имен столбцов, констант и функций, связанных операторами или вложенным запросом. Также может содержать выражение CASE.
= Оператор, используемый для проверки равенства двух выражений
<> Оператор, используемый для проверки условий неравенства условий двух выражений.
!= Оператор, используемый для проверки условий неравенства условий двух выражений.
> Оператор, используемый для проверки превышения одного выражения над условием другого.
>= Оператор, используемый для проверки превышения либо равенства двух выражений.
!> Оператор, используемый для проверки того, что одно выражение не превышает другое выражение.
> Оператор, используемый для проверки того, что одно выражение меньше другого.
<= Оператор, используемый для проверки того, что одно выражение меньше или равно другому.
!< Оператор, используемый для проверки того, что одно выражение не меньше другого.
string_expression Строка обычных символов и символов-шаблонов
[NOT] LIKE Показывает, что обрабатываемая строка должна использоваться при совпадении с шаблоном
ESCAPE 'escape_ character' Позволяет найти сам символ-шаблон в строке (вместо того чтобы использовать его как шаблон). escape_character — это символ, который нужно поместить перед символом-шаблоном, чтобы указать данное специальное использование.
[NOT] BETWEEN Задает включающий диапазон значений. Используйте оператор AND для разделения начальных и конечных значений
IS [NOT] NULL Задает поиск значений NULL или значений, не являющихся значениями NULL, в зависимости от используемых ключевых слов. При обращении одного из операндов выражения с битовыми или арифметическими операторами в значение NULL указанное выражение также обращается в значение NULL
CONTAINS Осуществляет поиск столбцов, содержащих символьные данные с заданной точностью (fuzzy), соответствующие заданным отдельным словам и фразам на основе похожести словам и точному расстоянию между словами, взвешенному совпадению. Этот параметр может быть использован только в инструкции SELECT
FREETEXT Предоставляет простую форму естественного языка ввода запросов на осуществление поиска столбцов, содержащих символьные данные, совпадающие с содержанием предиката не точно, а по смыслу. Этот параметр может быть использован только в инструкции SELECT
[ NOT ] IN Задает поиск выражения, основанного на выражении, включенного или исключенного из списка. Выражение поиска может быть константой или именем столбца, а списком может быть набор констант или, что чаще, вложенный запрос. Список значений необходимо заключать в скобки
subquery Может рассматриваться как ограниченная инструкция SELECT и являющаяся подобной на <query_expresssion> в инструкции SELECT. Использование предложения ORDER BY и ключевого слова INTO не допускается
ALL Используется с оператором сравнения и вложенным запросом. Возвращает для <предиката> значение TRUE, если все получаемые для вложенного запроса значения удовлетворяют условию, и значение FALSE, если не все значения удовлетворяют условию или в случае, когда в результате выполнения вложенного запроса внешней инструкции не выдается ни одной строки
{ SOME | ANY } Используется с оператором сравнения и вложенным запросом. Возвращает для <предиката> значение TRUE, если хотя бы одно получаемое для вложенного запроса значение удовлетворяет условию, и значение FALSE, если ни одно из значений не удовлетворяет условию или в случае, когда в результате выполнения вложенного запроса внешней инструкции не выдается ни одной строки. В противном случае результатом выражения является значение UNKNOWN
EXISTS Используется во вложенном запросе для проверки существования строк, возвращенных вложенным запросом

Приоритеты выполнения логических операторов распределяются следующим образом: NOT (наивысший приоритет), AND, OR (низший приоритет). Для перераспределения указанных приоритетов в условии поиска используются скобки. Порядок выполнения логических операторов может меняться в зависимости от настроек оптимизатора запросов.

Clone this wiki locally