WHERE 子句

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

會指定在 FROM 子句所列出的資料表中,受到 SELECT、UPDATE 或 DELETE 陳述式影響的記錄。

語法

SELECT fieldlist
FROM tableexpression
WHERE criteria

包含 WHERE 子句的 SELECT 陳述式具有下列部分:

子句各部分

描述

fieldlist

擷取以及任何欄位名稱的別名,選取述詞的欄位名稱 (所有,DISTINCT、 DISTINCTROW 或 TOP),或是其他 SELECT 陳述式選項。

tableexpression

從中擷取資料的資料表名稱

criteria

一個運算式,記錄必須滿足它才能包含在查詢結果中


備註

Microsoft Access 資料庫引擎會選取符合 WHERE 子句中列出之條件的記錄。如果不指定 WHERE 子句,查詢會傳回資料表中的所有資料列。如果在查詢中指定多個資料表,且未包含 WHERE 子句或 JOIN 子句,則查詢會產生資料表的笛卡耳積。

WHERE 是選用項目,如果使用,就應該位於 FROM 之後。例如,您可以選取業務部門 (WHERE Dept = 'Sales') 的所有員工,或者年齡介於 18 到 30 歲之間 (WHERE Age Between 18 And 30) 的所有客戶。

如果沒有使用 JOIN 子句在多個資料表上執行 SQL 結合操作,則不會更新結果 Recordset 物件。

WHERE 與 HAVING 類似,但是 WHERE 是決定選取的記錄。同樣,一旦使用 GROUP BY 群組記錄,HAVING 就會決定顯示的記錄。

使用 WHERE 子句,可以除去不想使用 GROUP BY 子句進行群組的記錄。

使用不同的運算式會決定 SQL 陳述式傳回的記錄。例如,下列 SQL 陳述式會選取薪水高於 $21,000 的所有員工:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

WHERE 子句最多可以包含 40 個運算式,這些運算式由邏輯運算子 (例如,AndOr) 連結。

當輸入的欄位名稱包含空格或標點符號時,應該以括號 ([ ]) 括住該名稱。例如,客戶資訊資料表可能包含特定客戶的資訊:

SELECT [Customer’s Favorite Restarant]

當您指定的準則引數時,日期常值必須是在 [美國格式,即使您不使用 Microsoft Access 資料庫引擎的美國版本。例如,1996 年月 10 日撰寫 10/5/96 在英國,5/10/96 在美國。請務必將日期文字與數字號 (#),如下列範例所示。

若要在英國資料庫中尋找日期為 1996 年 5 月 10 日的記錄,必須使用下列 SQL 陳述式:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

您也可以使用 DateValue 函數,它會識別 Microsoft Windows® 建立的國別設定。例如,如果是美國,請使用此程式碼:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

如果是英國,則使用此程式碼:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

附註: 如果準則字串中參照的資料行類型是 GUID,則準則運算式使用的語法會略有不同:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

請確定包含如上所示的巢狀括號及連字號。



附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×