Поделиться через


ГДЕ (Transact-SQL)

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в Microsoft Fabric

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

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

Syntax

[ WHERE <search_condition> ]

Arguments

< search_condition>

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

Examples

Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.

В следующих примерах показывается, как можно использовать в предложении 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;