如何:包含或排除資料列 (Visual Database Tools)
若要限制 SELECT 查詢傳回的資料列數目,您可以建立搜尋條件或篩選條件。在 SQL 中,搜尋條件出現在陳述式中的 WHERE 子句,或如果您要建立彙總查詢,查詢條件則位於 HAVING 子句中。
[!附註]
您也可以使用搜尋條件來指出受到 UPDATE、Insert Results、Insert Values、DELETE 或製成資料表查詢影響的資料列。
執行查詢時,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'
如需結合搜尋條件的詳細資訊,請參閱下列主題:
範例
此處是使用不同運算子和資料列準則之查詢的一些範例:
常值,單一文字、數字、日期或邏輯值。下例即使用常值搜尋所有資料列,尋找位於英國的員工:
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)