ГДЕ (Transact-SQL)

Относится к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsSQL аналитическая конечная точка в Microsoft FabricХранилище в Microsoft FabricSQL база данных в Microsoft Fabric

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

Соглашения о синтаксисе Transact-SQL

Syntax

[ WHERE <search_condition> ]

Arguments

< search_condition>

Определяет условие, которое необходимо выполнить для возвращаемых строк. Количество предикатов, которые можно включить в условие поиска, не ограничено. Дополнительные сведения об условиях поиска и предикаатах см. в разделе "Условие поиска".

Examples

Примеры кода в этой статье используют AdventureWorks2025 базу данных ORAdventureWorksDW2025, которую можно скачать из репозитория GitHub Azure Data Samples SQL Repository

В следующих примерах показывается, как можно использовать в предложении WHERE различные распространенные условия поиска.

A. Поиск строки с помощью простого равенства

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE LastName = 'Smith';

B. Поиск строк, содержащих значение в составе строки

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE LastName LIKE '%Smi%';

C. Поиск строк с помощью оператора сравнения

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE EmployeeKey <= 500;

D. Поиск строк, удовлетворяющих любому из трех условий

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE EmployeeKey = 1
      OR EmployeeKey = 8
      OR EmployeeKey = 12;

E. Поиск строк, которые должны соответствовать нескольким условиям

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE EmployeeKey <= 500
      AND LastName LIKE '%Smi%'
      AND FirstName LIKE '%A%';

F. Поиск строк, которые находятся в списке значений

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE LastName IN ('Smith', 'Godfrey', 'Johnson');

G. Поиск строк, имеющих значение между двумя значениями

-- Uses AdventureWorksDW
SELECT EmployeeKey, LastName
FROM DimEmployee
WHERE EmployeeKey BETWEEN 100 AND 200;