Dela via


WHERE (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Anger sökvillkoret för de rader som returneras av frågan.

Transact-SQL syntaxkonventioner

Syntax

[ WHERE <search_condition> ]

Arguments

< search_condition>

Definierar villkoret som ska uppfyllas för de rader som ska returneras. Det finns ingen gräns för antalet predikat som kan ingå i ett sökvillkor. Mer information om sökvillkor och predikat finns i Sökvillkor.

Examples

Kodexemplen i den här artikeln använder AdventureWorks2022- eller AdventureWorksDW2022-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.

I följande exempel visas hur du använder några vanliga sökvillkor i WHERE -satsen.

A. Hitta en rad med hjälp av en enkel likhet

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

B. Hitta rader som innehåller ett värde som en del av en sträng

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

C. Hitta rader med hjälp av en jämförelseoperator

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

D. Hitta rader som uppfyller något av tre villkor

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

E. Hitta rader som måste uppfylla flera villkor

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

F. Hitta rader som finns i en lista med värden

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

G. Hitta rader som har ett värde mellan två värden

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