Access SQL:SELECT 子句

Access SQL:SELECT 子句

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

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

本文內容

選取欄位:SELECT 子句

選取所有欄位

選取不同的值

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

使用運算式進行選取

選取欄位: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 關鍵字

若要針對 [資料工作表] 檢視中任一欄位變更顯示的標籤,您可以在 SELECT 子句中使用 AS 關鍵字和欄位別名。欄位別名是您在查詢中指定給欄位的名稱,這可使結果更易於閱讀。例如,若您想從名為 txtCustPhone 的欄位中選取資料,而欄位含有客戶電話號碼,您即可在 SELECT 陳述式中使用欄位別名,藉此改善結果的可讀性。陳述式如下:

SELECT [txtCustPhone] AS [Customer Phone]

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

使用運算式進行選取

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

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

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

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

頁面頂端

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×