使用查詢管理資料

使用外部聯結建立查詢

您的瀏覽器不支援視訊。請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

有時,在您的查詢中,您會想要查看來自一個資料表的所有記錄,連同來自另一個資料表的相符記錄。若要這麼做,請建立外部聯結。

「內部聯結」只有在兩個連接的資料來源中都有相符的識別碼時,才會顯示資料。例如,如果您想要顯示產品和銷售的數量,就需在 [產品] 與 [訂單詳細資料] 資料表之間建立內部聯結。當您執行查詢時,系統只會傳回出現在訂單中並因此在兩個資料表中都有出現的產品。

相對地,「外部聯結」則會傳回來自一個資料來源的「全部」資料,以及來自另一個資料表或資料來源的「部分」資料。

例如,如果您想要查看哪些產品尚未售出,就需建立一個查詢以顯示來自 [產品] 資料表的 [產品識別碼],以及來自 [訂單詳細資料] 資料表的任何相符 [訂單識別碼]。產品如果在 [訂單詳細資料] 資料表中沒有相符的記錄,就會傳回產品名稱且其 [訂單識別碼] 欄位中沒有值。

左方外部聯結和右方外部聯結

在外部連結中,顯示其所有記錄的資料表稱為「基礎資料表」。只顯示部分 (相符) 記錄的資料表稱為「次要資料表」。

[連接屬性] 對話方塊說明您在不同類型的聯結會看到的內容:

三個資料表與其連接屬性的螢幕擷取畫面

假設您已建立查詢來顯示客戶已購買的產品。您的輸出欄位為 [產品名稱]、[訂單識別碼] 及 [數量]。

  1. 內部聯結。只包含其中兩個資料表的聯結欄位相等的列 (記錄),例如,只包含有相關訂單的產品。

  2. 左方外部聯結。包含 [左資料表名稱] 底下資料表的「全部」記錄,但只包含 [右資料表名稱] 底下資料表中聯結欄位相等的記錄,例如所有訂單,但僅限那些有相關產品之訂單的數量和 [產品識別碼]。

  3. 右方外部聯結。包含 [右資料表名稱] 底下資料表的「全部」記錄,但只包含 [左資料表名稱] 底下資料表中聯結欄位相等的記錄,例如所有產品,即使它們沒有訂單,在此情況下 [訂單識別碼] 和 [數量] 欄位中會出現空白值。

您可以從這些範例得知,了解哪個資料表在左方、哪個資料表在右方相當重要,這可能實際上與查詢視窗中資料表的排列方式不同。若要了解您將會從查詢獲得哪些資料,請仔細閱讀 [連接屬性] 對話方塊中的文字。

1.新增資料來源

  • 選取 [建立] > [查詢設計]。

請將您所需的所有資料表和查詢新增為資料來源。(別擔心,如果您忘了某個資料來源,稍後仍有機會新增其他資料來源)。

如果 Access 偵測到或推算出資料來源,可能就會顯示它們的關聯。

2.新增聯結

  • 如果您沒有看到來源之間有關聯,請新增聯結。請從一個資料來源中,將您想要的欄位拖曳到另一個資料來源中的對應欄位。您從中進行拖曳的資料表是將在 [連接屬性] 對話方塊中顯示在左方的資料表。Access 預設會建立內部聯結。如果您需要的是外部聯結,請變更其類型。

    聯結兩個資料表的螢幕擷取畫面

3.變更聯結

  1. 按兩下代表您想要變更之聯結的線條。

  2. 在 [連接屬性] 對話方塊中,若要建立外部聯結,請選取第二個或第三個選項。然後,選取 [確定]。

    請務必注意哪個資料表是基礎資料表,亦即系統會顯示其所有記錄的資料表。

    醒目提示左側資料表名稱連接屬性的螢幕擷取畫面

4.完成查詢。

依照一般的查詢建立步驟:新增輸出欄位、新增任何準則,然後執行或儲存查詢。若要了解做法,請參閱建立基本查詢

想要更多資訊嗎?

建立基本查詢

Excel 訓練課程

Outlook 訓練

讓我們看看如何在 [選取] 查詢中使用左方和右方外部聯結。

外部聯結具有方向性 (左方和右方),而它們會傳回來自一個資料表的「所有」資料,以及來自另一個資料表的「相符」資料。當您想要知道事項何時「未」發生時,這些資料就相當有用。例如,某個「未」銷售的項目,或「未」註冊某個課程的學生。

所以現在讓我們對此再稍加說明。

傳回所有資料的資料表稱為「基底資料表」,而傳回相符資料的資料表則稱為「次要資料表」。

哪個是基底而哪個是次要資料表取決於聯結的方向。

如果您使用右方外部聯結,右方的資料表就是基底資料表。如果您使用左方外部聯結,左方的資料表就是基底資料表。

您可以控制您在 [連接屬性] 對話方塊中使用的是左方還是右方外部聯結。選取然後按一下滑鼠右鍵或點兩下聯結線、選取 [連接屬性],然後選取第二個或第三個選項。

所以,讓我們實際操作看看:

在 [建立] 索引標籤上,選取 [查詢設計]。我們會在這裡新增 [訂單詳細資料] 和 [產品] 資料表。

您可以看到 Access 已使用一對多關聯性做為聯結的「圖樣」,而這就表示它是內部聯結。

我們會新增 [產品名稱] 和 [數量] 欄位,而如果我們執行查詢,它只會傳回已訂購的產品之資料。

我們會知道是因為如果查詢傳回未訂購產品的資料,我們就會在這裡看到空白記錄。

回到 [設計] 檢視,我們按一下滑鼠右鍵或點兩下聯結線,然後選取 [連接屬性]。選取第二個選項,並注意聯結線。

箭號表示它是外部聯結,也會指向次要資料表。執行查詢、將資料排序成從最小到最大,而您現在會知道哪些產品未銷售。

所以如果我們變更為右方外部聯結會發生什麼情況呢?

我們進行變更、執行查詢,然後獲得與內部聯結相同的結果:沒有空白記錄。

如果我們看一下 [連接屬性] 對話方塊,就會知道原因。

我們正在傳回來自 [訂單詳細資料] 資料表的所有資料,不過只有來自 [產品] 資料表的 [相符] 資料。換句話說,我們只看到有對應排序的產品,而這是內部聯結傳回的相同結果。

現在您已了解如何在使用多個資料來源的 [選取] 查詢中使用外部聯結。所以,請全盤考慮您的聯結,而如果您未獲得想要的結果,您可以隨時進行變更。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×