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