WHERE (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database 是Azure SQL 受控執行個體 是Azure Synapse Analytics 是平行處理資料倉儲

指定查詢所傳回之資料列的搜尋條件。

主題連結圖示 Transact-SQL 語法慣例

語法

[ WHERE <search_condition> ]  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

< search_condition > 定義必須符合以傳回資料列的條件。 搜尋條件中所能包括的述詞數目沒有限制。 如需有關搜尋條件和述詞的詳細資訊,請參閱搜尋條件 (Transact-SQL)

範例

下列範例示範如何在 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;  

另請參閱

DELETE (Transact-SQL)
述詞 (Transact-SQL)
搜尋條件 (Transact-SQL)
SELECT (Transact-SQL)
UPDATE (Transact-SQL)
MERGE (Transact-SQL)