Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.
Access SQL:SELECT 子句

本文屬於 Access SQL 相關系列文章。 本文將說明如何撰寫 SELECT 子句,並說明撰寫這類子句時可用的各種技巧。

如需 Access SQL 概觀,請參閱 Access SQL:基本概念、詞彙和語法一文。

本文內容

選取欄位:SELECT 子句

SELECT 陳述式通常是從 SELECT 子句開始。 您可以使用 SELECT 子句,針對您想要在查詢中使用的資料指定欄位名稱。 您也可以只使用運算式,或是與欄位兩者並用。 您甚至可以使用另一個 SELECT 陳述式做為欄位,這稱為子查詢。

假設您想要知道客戶的電話號碼。 假設儲存客戶電話號碼的字段稱為 txtCustPhone,SELECT 子句的顯示方式如下:

SELECT [txtCustomerPhone]

您可以使用方括號括住名稱。 如果名稱不包含任何空格或特殊字元 (例如標點符號),也可以不加方括號。 如果名稱包含空格或特殊字元,就必須使用括號。

提示: 包含空格的名稱會比較容易閱讀,並在您設計表單和報表時為您節省時間,但您撰寫 SQL 陳述式時可能會因此需要輸入更多字元。 當您在 Access 資料庫中命名物件時,請將這點一併考慮進去。

若 SQL 陳述式有兩個或多個欄位擁有相同名稱,您必須將每個欄位的資料來源名稱加入至 SELECT 子句中的欄位名稱。 您使用的資料來源名稱必須與您在 FROM 子句中使用的一致。

選取所有欄位

當您想要包含資料來源的所有欄位時,您可以在 SELECT 子句中個別列出所有欄位,或使用星號萬用字元 (*)。 當您使用星號時,Access 會決定查詢執行的時間、資料來源包含哪些欄位,並在查詢中納入所有這些欄位。 這樣一來,當資料來源新增新欄位時,即可協助確保查詢的資料為最新。

您可以在 SQL 陳述式中的一或多個資料來源使用星號。 若您使用星號,且有多個資料來源,您必須將資料來源名稱與星號放在一起,以便 Access 判斷要包含哪個資料來源的所有欄位。

例如,假設您想要選取 [Order] 資料表的所有欄位,但只想要 [Contacts] 資料表的電子郵件地址。 您的 SELECT 子句可能會像這樣:

SELECT Orders.*, Contacts.[E-mail Address]

附註: 使用星號時請特別留意。 如果資料來源之後加入新的欄位,而您並不打算使用新欄位,您的查詢結果可能會不如預期。

選取不同的值

如果您知道陳述式會選取重複的資料,導致您看到重複的值,您不妨在 SELECT 子句中使用 DISTINCT 關鍵字。 例如,假設您的每個客戶會顯示多個不同的興趣,但其中有部分的電話號碼相同。 若您想要確認每支電話號碼只顯示一次,您的 SELECT 子句看起來如下:

SELECT DISTINCT [txtCustomerPhone]

為欄位或運算式使用替代名稱:AS 關鍵字

您可以使用 AS 關鍵詞和 SELECT 子句中的欄位別名,變更資料工作表檢視中任何字段所顯示的標籤。 欄位別名是您在查詢中指派給欄位的名稱,讓結果更容易閱讀。 例如,如果您想要從名為 txtCustPhone 的欄位中選取資料,且欄位包含客戶電話號碼,您可以在 SELECT 語句中使用字段別名來改善結果的可讀性,如下所示:

SELECT [txtCustPhone] AS [Customer Phone]

附註: 在 SELECT 子句中使用運算式時,您必須使用欄位別名。

使用運算式進行選取

有時候,您會想要根據資料查看計算結果,或只擷取欄位的部分資料。 例如,您想要根據資料庫中的 [BirthDate] 欄位資料傳回客戶的出生年份。 您的 SELECT 子句可能如下:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

這個運算式由 DatePart 函數及 "yyyy" (常數) 和 [BirthDate] (識別碼) 這兩個引數所組成。

如果提供單一輸入值時,運算式只會輸出單一值,則您可以使用任何驗證運算式當做欄位。

頁面頂端

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×