適用於:SQL Server
若要限制查詢應該傳回的數據列 SELECT 數目,您可以建立搜尋條件或篩選準則。 在 SQL 中,搜尋條件會出現在 WHERE 語句的 子句中,或者如果您要在 子句中 HAVING 建立匯總查詢。
注意
您也可以使用搜尋條件來指出哪些數據列受到 Update、Insert Results、Insert Values、Delete 或 Make Table 查詢的影響。
當查詢執行時,Database Engine 會檢查並套用搜尋條件至您要搜尋之數據表中的每個數據列。 如果數據列符合條件,它就會包含在查詢中。 例如,尋找特定區域中所有員工的搜尋條件可能是:
region = 'UK'
若要建立在結果中包含數據列的準則,您可以使用多個搜尋條件。 例如,下列搜尋準則包含兩個搜尋條件。 只有在該數據列符合這兩個條件時,查詢才會在結果集中包含一個數據列。
region = 'UK' AND product_line = 'Housewares'
您可以將這些條件與 AND 或 OR結合。 此範例使用 AND。 相反地,下列準則會使用 OR。 結果集包含符合搜尋條件或兩者的任何數據列:
region = 'UK' OR product_line = 'Housewares'
您甚至可以在單一數據行上結合搜尋條件。 例如,下列準則會結合區域數據行上的兩個條件:
region = 'UK' OR region = 'US'
如需合併搜尋條件的詳細資訊,請參閱下列文章:
- 在 [準則] 窗格中合併搜尋條件的慣例 (Visual Database Tools)
- 指定資料行的多個搜尋條件 (Visual Database Tools)
- 指定多個資料行的多個搜尋條件 (Visual Database Tools)
- 結合 AND 優先順序的條件 (Visual Database Tools)
- 結合 OR 優先順序的條件 (Visual Database Tools)
例子
以下是使用各種運算子和數據列準則的查詢範例:
字面
單一文字、數值、日期或邏輯值。 下列範例會使用常數來查詢位於英國的所有員工資料列:
WHERE region = 'UK'欄位參考
比較一個數據行中的值與另一個數據行中的值。 下列範例會搜尋
products數據表,以尋找生產成本值低於出貨成本的所有數據列:WHERE prod_cost < ship_cost功能
資料庫後端可以解析為計算搜尋值的函式參考。 此函式可以是資料庫伺服器所定義的函式,或是傳回純量值的使用者定義的函式。 下列範例會搜尋今天下的訂單(GETDATE() 函式會傳回當前日期):
WHERE order_date = GETDATE()NULL下列範例會搜尋authors資料表中所有在檔案上具有名字的作者:WHERE au_fname IS NOT NULL運算
可能涉及常值、數據行參考或其他表達式的計算結果。 下列範例會搜尋
products數據表,以尋找零售銷售價格超過生產成本兩倍的數據列:WHERE sales_price > (prod_cost * 2)