當您想要選取一或多個來源的特定資料時,您可以使用選取查詢。 選取查詢可以協助您僅擷取想要的資料,而且也可以協助您合併多個資料來源的資料。 您可以使用資料表和其他選取查詢,做為選取查詢的資料來源。 本主題提供選取查詢的概觀,並且說明使用 [查詢精靈] 或在設計檢視中建立選取查詢的步驟。
若要使用 Northwind 範例資料庫深入了解查詢的運作方式,請參閱查詢簡介一文。
本文內容
概觀
當您想要使用資料時,您很少會想要使用一個資料表的所有資料。 例如,當您想要使用「連絡人」資料表的資料時,您通常會想要查看一筆特定記錄,或者可能只想查看電話號碼。 有時候,您會想要合併多個資料表的資料,例如合併「客戶」資訊與「訂單」資訊。 若要選取您要使用的資料,則需使用選取查詢。
選取查詢是在資料工作表檢視中顯示資訊的資料庫物件。 查詢不會儲存資料,它會顯示資料表中儲存的資料。 查詢可以顯示來自一或多個資料表、來自其他查詢、或同時來自這兩者的資料。
使用查詢的優點
查詢可讓您:
-
只檢視您有興趣檢視之欄位的資料。 當您開啟資料表時,您會看見所有欄位。 查詢是儲存所選欄位的實用方法。
附註: 查詢只會指向資料,不會儲存資料。 當您儲存查詢時,並不會儲存資料複本。
-
合併多個資料來源的資料。 資料表通常只會顯示它儲存的資料。 查詢可讓您挑選及選擇各種來源的欄位,並且指定應如何合併資訊。
-
以欄位的形式使用運算式。 例如,您能以欄位的形式使用 Date 函數,或者也可以將 Format 函數用於欄位,以控制欄位的資料在查詢結果中的格式設定方式。
-
檢視符合您指定之準則的記錄。 當您開啟資料表時,您會看見所有記錄。 查詢是儲存所選記錄的實用方法。
建立選取查詢的基本步驟
您可以使用 [查詢精靈] 或在 [設計檢視] 中建立選取查詢。 您無法在使用精靈時使用某些設計元素,但您可以稍後使用 [設計檢視] 來新增這些元素。 雖然兩種方法彼此稍有不同,但實質上基本步驟是相同的:
-
選擇您要用來做為資料來源的資料表或查詢。
-
指定您要從資料來源包含的欄位。
-
或者,您也可以指定準則以限制查詢傳回的記錄。
建立選取查詢之後,您可以執行選取查詢來查看結果。 若要執行選取查詢,請在 [資料工作表檢視] 中開啟選取查詢。 如果您儲存查詢,您可以隨時視需要重複使用,例如做為表單、報表或另一個查詢的資料來源。
使用 [查詢精靈] 建立選取查詢
您可以使用 [查詢精靈] 自動建立選取查詢。 當您使用精靈時,您較難以控制查詢設計的詳細資料,但查詢的建立速度通常會比不使用精靈更快。 此外,精靈可以偵測到一些簡單的設計錯誤,並提示您執行不同的動作。
開始之前
如果您使用彼此不相關之資料來源的欄位,[查詢精靈] 會詢問您是否要建立關聯。 精靈會開啟 [資料庫關聯圖] 視窗,但如果您編輯任何關聯,則必須重新啟動精靈。 因此,執行精靈之前,請考慮先建立查詢需要的任何關聯。
如需有關建立資料表關聯的詳細資訊,請參閱資料表關聯指南一文。
使用查詢精靈
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢精靈]。
-
在 [新增查詢] 對話方塊中,按一下 [簡單查詢精靈] ,然後按一下 [確定]。
-
接下來,新增欄位。 您可以從最多 32 個資料表或查詢新增最多 255 個欄位。
針對每個欄位,執行下列這兩個步驟:
-
在 [資料表/查詢] 底下,按一下包含欄位的資料表或查詢。
-
在 [可用的欄位] 底下,按兩下欄位以將它新增到 [已選取的欄位] 清單。 若要將所有欄位新增到查詢,請按一下具有向右雙箭號 (>>) 的按鈕。
-
新增完所有您想要的欄位後,請按一下 [下一步]。
-
-
如果您沒有新增任何數字欄位 (包含數值資料的欄位),請跳到步驟 9。 如果您新增了任何數字欄位,精靈會詢問您是要讓查詢傳回詳細資料還是摘要資料。
請執行下列其中一項操作:
-
若要查看個別記錄,請按一下 [詳細資料],然後按一下 [下一步]。 繼續跳到步驟 9。
-
若要查看摘要的數值資料 (例如平均值),請按一下 [摘要],然後按一下 [摘要選項]。
-
-
在 [摘要選項] 對話方塊中,指定您想要進行摘要的欄位,以及想要的資料摘要方式。 系統只會列出數字欄位。
針對每個數字欄位,選擇下列其中一個函數:
-
和 查詢會傳回欄位所有值的總和。
-
Avg 查詢會傳回欄位值的平均值。
-
Min 查詢會傳回欄位的最小值。
-
Max 查詢會傳回欄位的最大值。
-
-
如果您想要讓查詢結果包含資料來源中的記錄計數,請選取適用的 [計算在資料來源名稱中的記錄] 核取方塊。
-
按一下 [確定] 以關閉 [摘要選項] 對話方塊。
-
如果您未將日期/時間欄位新增到查詢,請跳到步驟 9。 如果您已將日期/時間欄位新增到查詢,[查詢精靈] 會詢問您想要的日期值分組方式。 例如,假設您在查詢中新增了數字欄位 (「價格」) 和日期/時間欄位 (「交易時間」),然後在 [摘要選項] 對話方塊中指定您想要查看「價格」數字欄位的平均值。 由於您包含了日期/時間欄位,因此您可以針對每個獨特的日期/時間值,計算每日、每月、每季或每年的摘要值。
選取您想要用來將日期/時間值分組的時間週期,然後按一下 [下一步]。
附註: 在 [設計檢視] 中,您可以使用運算式依據您想要的任何時間週期進行分組,但精靈只會提供這些選擇。
-
在精靈的最後一頁,輸入查詢標題、指定您是否要開啟或修改查詢,然後按一下 [完成]。
如果您選擇開啟查詢,查詢會在 [資料工作表檢視] 中顯示所選資料。 如果您選擇修改查詢,查詢會以 [設計檢視] 開啟。
使用 [設計檢視] 建立查詢
您可以使用 [設計檢視] 手動建立選取查詢。 當您使用 [設計檢視] 時,您較能控制查詢設計的詳細資料,但比較容易犯下設計錯誤,而且會比使用精靈花費更多的時間。
建立查詢
步驟 1:新增資料來源
使用 [設計檢視] 時,若要新增數據源,請在個別的步驟中新增數據源和欄位。 不過,您稍後可以隨時視需要新增更多資料來源。
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
按兩下您要使用的每個資料源,或選取每個數據源,然後按兩下[ 新增]。
自動聯結
當您新增資料來源時,如果來源之間已經有定義的關聯,這些關聯會自動以聯結的形式新增到查詢。 聯結指定應如何合併相關來源的資料。 如果資料表有具有相容資料類型的欄位,而且一個欄位為主索引鍵,Access 也會在兩個資料表之間自動建立聯結。
建議您調整 Access 建立的聯結。 Access 會根據聯結代表的關聯決定建立何種聯結類型。 如果 Access 建立聯結但沒有定義的關聯,Access 會建立內部聯結。
如果 Access 在您新增資料來源時自動建立正確聯結,您可以跳到步驟 3:新增輸出欄位。
多次使用相同的資料來源
在某些情況下,您想要聯結同一個數據表或查詢的兩個複本,稱為 自我聯結,當聯結字段中有相符的值時,會合併來自同一個數據表的記錄。 例如,假設您有一個 [員工] 數據表,其中每一個員工記錄的 [ReportsTo] 字段會顯示其經理的標識符,而非名稱。 您可以改用自我加入,在每個員工的記錄中顯示經理的名稱。
當您第二次新增資料來源時,Access 會在第二個執行個體的名稱中附加 _1。 例如,如果您新增了兩次「員工」資料表,第二個執行個體則會命名為「員工_1」。
步驟 2:聯結相關資料來源
如果您加入查詢的資料來源已經具有關聯,Access 則會自動為每個關聯建立內部聯結。 如果您強制執行參考完整性,Access 也會在連接線上顯示 "1",標記哪一個資料表是處於一對多關聯性的「一」端,並以無限符號 (∞) 標記哪一個資料表是處於「多」端。
如果您在查詢中新增多個查詢,而且未建立這些查詢之間的關聯,Access 不會自動在這些查詢之間建立聯結,或在查詢與不相關的資料表之間建立聯結。 如果 Access 未在您新增資料來源時建立聯結,您通常應自行新增。 未聯結到任何其他資料來源的資料來源會導致查詢結果的問題。
另外建議您將內部聯結的聯結類型變更為外部聯結,以讓查詢包含更多記錄。
新增聯結
-
若要新增聯結,請從一個資料來源,將某個欄位拖曳到另一個資料來源上的對應欄位。
Access 會在兩個欄位之間顯示一條線,表示已建立聯結。
變更聯結
-
按兩下您要變更的聯結。
[連接屬性] 對話方塊即會出現。
-
在 [連接屬性] 對話方塊中,檢閱三個選項。
-
按一下您要使用的選項,然後按一下 [確定]。
準備好聯結後,則新增輸出欄位 (含有查詢結果中您想要之資料的欄位)。
步驟 3:新增輸出欄位
您可以從您在步驟 1 中新增的任何資料來源輕鬆新增欄位。
-
若要新增欄位,請從查詢設計視窗的上方窗格,將資料來源的欄位向下拖曳到查詢設計視窗的底部窗格中的設計格線之 [欄位] 資料列。
當您如此新增欄位時,Access 會自動填入設計格線的 [資料表] 列,以反映欄位的資料來源。
提示: 若要將所有欄位快速新增到查詢設計格線的 [欄位] 資料列,請從上方窗格按兩下資料表或查詢名稱,以醒目提示該來源中的所有欄位,然後同時將它們全部向下拖曳到設計格線。
使用運算式做為輸出欄位
若要執行計算或使用函數來產生查詢輸出,您可以使用運算式做為輸出欄位。 運算式可以使用來自任何查詢資料來源的資料以及函數 (例如 Format 或 InStr),而且也可以包含常數和算術運算子。
-
在查詢設計格線的空白資料行中,以滑鼠右鍵按一下 [欄位] 資料列,然後按一下捷徑功能表上的 [顯示比例]。
-
在 [顯示比例] 方塊中,輸入或貼上您的運算式。 在您運算式的前面加上要用於運算式輸出的名稱,後面再加上冒號。 例如,若要在運算式加上「Last updated」標籤,請以 Last updated: 字串做為運算式的開頭。
附註: 您可以使用運算式執行各種工作。 本文不包含運算式的詳盡說明。 如需有關建立運算式的詳細資訊,請參閱建立運算式一文。
步驟 4:指定準則
這是選用步驟。
您使用準則限制查詢傳回的記錄 (根據欄位值是否符合您指定的準則)。
指定輸出欄位的準則
-
在查詢設計格線中,於具有您要限制值之欄位的 [準則] 資料列中,輸入欄位值必須滿足才能包含在結果中的運算式。 例如,若要將查詢限制為只有「城市」欄位值為「拉斯維加斯」的記錄,請在該欄位底下的 [準則] 資料列輸入拉斯維加斯。
如需各種資料類型的查詢準則的眾多範例,請參閱查詢準則的範例一文。
-
在 [準則] 列底下的 [Or] 列中,指定任何替代準則。
如果您指定替代準則,欄位值可以符合任何列出的準則,並且包含在查詢結果中。
多個欄位準則
您可以將準則用於多個欄位。 當您這麼做時,指定的 [準則] 或 [或] 資料列中的所有準則都必須是 True 才能包含記錄。
使用您不想要輸出的欄位指定準則
您可以將欄位新增到查詢設計,並且不在查詢輸出中包含欄位的資料。 如果您想要使用欄位值來限制查詢結果但不想要看見欄位值,您則會這麼做。
-
將欄位新增到設計格線。
-
清除欄位的 [顯示] 資料列中的核取方塊。
-
像對輸出欄位一樣指定準則。
步驟 5:摘要資料
這是選用步驟。
建議您摘要資料,特別是當您的資料是數值時。 例如,您可能會想要查看平均價格或總銷售額。
若要在查詢中摘要資料,請使用 [合計] 資料列。 根據預設,[設計檢視] 中不會顯示 [合計] 資料列。
-
在 [ 設計 檢視] 中開啟查詢時,請在 [ 查詢設計 ] 索引標籤的 [ 顯示/隱藏 ] 群組中,按兩下 [ 合計]。
Access 會在查詢設計格線中顯示 [合計] 資料列。
-
針對您想要摘要的每個欄位,從 [合計] 資料列中的清單選擇要使用的函數。 可用函數取決於欄位的資料類型。
若要深入了解查詢中的合計列功能,請參閱使用合計列 在數據工作表中顯示欄合計一文。
步驟 6:檢視結果
若要查看查詢結果,請在 [ 查詢設計] 索 引標籤上,按兩下 [ 執行]。 Access 會在 [資料工作表檢視] 中顯示查詢結果。
若要進一步變更查詢,請按一下 [常用] > [檢視] > [設計檢視] 以切換回 [設計檢視]。
變更欄位、運算式或準則,然後重新執行查詢,直到系統傳回您想要的資料為止。