使用聯(lián)合查詢合并多個(gè)選擇查詢的結(jié)果

此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

Access > 查詢

 

使用聯(lián)合查詢合并多個(gè)選擇查詢的結(jié)果

blueup_CLV全部顯示

bluedrop_CLV全部隱藏

對(duì)于多個(gè)相似的選擇查詢,當(dāng)您希望將它們返回的所有數(shù)據(jù)一起作為一個(gè)合并的集合查看時(shí),便可以使用聯(lián)合查詢。

本文將向您介紹如何根據(jù)兩個(gè)或多個(gè)現(xiàn)有的選擇查詢創(chuàng)建聯(lián)合查詢,同時(shí)說(shuō)明如何使用結(jié)構(gòu)化查詢語(yǔ)言 (SQL) 編寫(xiě)聯(lián)合查詢。

為完成本文中的示例,您應(yīng)該對(duì)如何創(chuàng)建和運(yùn)行選擇查詢有基本的了解。有關(guān)創(chuàng)建選擇查詢的詳細(xì)信息,請(qǐng)參閱“請(qǐng)參閱”部分。

本文內(nèi)容


hrefIcon_ZA10069439 概述

hrefIcon_ZA10069439 創(chuàng)建聯(lián)合查詢

hrefIcon_ZA10069439 有關(guān)使用聯(lián)合查詢的提示


概述

聯(lián)合查詢有哪些功能?

聯(lián)合查詢可合并多個(gè)相似的選擇查詢的結(jié)果集。

例如,假設(shè)您有兩個(gè)表,一個(gè)用于存儲(chǔ)有關(guān)客戶的信息,另一個(gè)用于存儲(chǔ)有關(guān)供應(yīng)商的信息,并且這兩個(gè)表之間不存在任何關(guān)系。又假設(shè)這兩個(gè)表都有一些存儲(chǔ)聯(lián)系人信息的字段,而您希望同時(shí)查看這兩個(gè)表中的所有聯(lián)系人信息。

您可以為每個(gè)表都創(chuàng)建一個(gè)選擇查詢 (選擇查詢:就表中存儲(chǔ)的數(shù)據(jù)提出問(wèn)題,然后在不更改數(shù)據(jù)的情況下以數(shù)據(jù)表的形式返回一個(gè)結(jié)果集。),以便只檢索包含聯(lián)系人信息的那些字段,但返回的信息仍將位于兩個(gè)單獨(dú)的位置。要將兩個(gè)或多個(gè)選擇查詢的結(jié)果合并到一個(gè)結(jié)果集中,可以使用聯(lián)合查詢。

聯(lián)合查詢的要求

聯(lián)合查詢中合并的選擇查詢必須具有相同的輸出字段數(shù)、采用相同的順序并包含相同或兼容的數(shù)據(jù)類型。在運(yùn)行聯(lián)合查詢時(shí),來(lái)自每組相應(yīng)字段中的數(shù)據(jù)將合并到一個(gè)輸出字段中,這樣查詢輸出所包含的字段數(shù)將與每個(gè) Select 語(yǔ)句相同。

 注釋    根據(jù)聯(lián)合查詢的目的,“數(shù)字”和“文本”數(shù)據(jù)類型兼容。

聯(lián)合查詢是特定于 SQL 的。特定于 SQL 的查詢不能在“設(shè)計(jì)”視圖中顯示,因此必須直接用 SQL 編寫(xiě)。在 Microsoft Office Access 2007 中,您可以使用“SQL 視圖”對(duì)象選項(xiàng)卡編寫(xiě)特定于 SQL 的查詢,包括聯(lián)合查詢。

提示  每個(gè)查詢都可以用 SQL 語(yǔ)句來(lái)表達(dá)。此外,大多數(shù)查詢也可以在查詢設(shè)計(jì)網(wǎng)格 (設(shè)計(jì)網(wǎng)格:在查詢?cè)O(shè)計(jì)視圖或“高級(jí)篩選/排序”窗口中設(shè)計(jì)查詢或篩選時(shí)所用的網(wǎng)格。對(duì)于查詢,該網(wǎng)格以前稱為“QBE 網(wǎng)格”。)中表達(dá),如果此環(huán)境可用,構(gòu)建查詢將更加輕松。在使用設(shè)計(jì)網(wǎng)格創(chuàng)建查詢時(shí),您始終都可以切換到 SQL 視圖,以查看運(yùn)行查詢時(shí)所處理的 SQL 語(yǔ)句。在 SQL 視圖中查看查詢是一種很好的做法,因?yàn)槟梢酝ㄟ^(guò)此途徑熟悉 SQL 并加深對(duì)查詢工作方式的理解。在某些情況下,您還可以使用 SQL 視圖對(duì)未返回預(yù)期結(jié)果的查詢進(jìn)行故障排除。

聯(lián)合查詢的 SQL 語(yǔ)法

在聯(lián)合查詢中,每個(gè)選擇查詢(又稱為 Select 語(yǔ)句)都有一個(gè) SELECT 子句和 FROM 子句,還可能有 WHERE 子句。SELECT 子句列出包含要檢索的數(shù)據(jù)的字段;FROM 子句列出包含這些字段的表;WHERE 子句則列出這些字段的條件。聯(lián)合查詢中的 Select 語(yǔ)句用 UNION 關(guān)鍵字組合在一起。

對(duì)于合并了兩個(gè)選擇查詢的聯(lián)合查詢,其基本 SQL 語(yǔ)法如下:

SELECT field_1[, field_2,…]

FROM table_1[, table_2,…]

UNION [ALL]

SELECT field_a[, field_b,...]

FROM table_a[, table_b,…];

例如,假設(shè)您有兩個(gè)表,分別名為 Products 和 Services。這兩個(gè)表都具有包含下列內(nèi)容的字段:產(chǎn)品或服務(wù)的名稱、價(jià)格、保修或擔(dān)保條款以及是否以獨(dú)占方式提供產(chǎn)品或服務(wù)。雖然 Products 表存儲(chǔ)了保修信息,而 Services 表存儲(chǔ)了擔(dān)保信息,但基本信息是相同的(即特定的產(chǎn)品或服務(wù)是否符合其質(zhì)量承諾)。您可以使用聯(lián)合查詢將兩個(gè)表中的這四個(gè)字段合并在一起,例如:

SELECT name, price, warranty_available, exclusive_offer

FROM Products

UNION ALL

SELECT name, price, guarantee_available, exclusive_offer

FROM Services;

讓我們逐行檢查上面的語(yǔ)法示例。

SELECT name, price, warranty_available, exclusive_offer  這是一個(gè) SELECT 子句,用于引入選擇查詢。SELECT 后面跟有一個(gè)標(biāo)識(shí)符列表,用于指示要從中檢索數(shù)據(jù)的字段。SELECT 子句必須始終至少列出一個(gè)字段。此 SELECT 子句列出了字段標(biāo)識(shí)符 name、pricewarranty_availableexclusive_offer。
FROM Products  這是一個(gè) FROM 子句。FROM 子句跟在 SELECT 子句之后,二者共同構(gòu)成了一個(gè)基本的 Select 語(yǔ)句。FROM 后也跟有一個(gè)標(biāo)識(shí)符列表,用于指示哪些表包含 SELECT 子句中列出的字段。FROM 子句必須始終至少列出一個(gè)表。此 FROM 子句列出了表標(biāo)識(shí)符 Products。
UNION ALL  這是一個(gè) UNION 關(guān)鍵字以及一個(gè)可選的 ALL 關(guān)鍵字。UNION 指示將 UNION 前后的 SELECT 語(yǔ)句的結(jié)果合并在一起。

在使用 ALL 關(guān)鍵字時(shí),Union 生成的合并集中并不刪除重復(fù)行。這樣,Access 便無(wú)需檢查重復(fù)行的結(jié)果,從而可以顯著提高查詢的性能。如果滿足下列任一條件,則應(yīng)使用 ALL 關(guān)鍵字:

您確定選擇查詢不會(huì)生成任何重復(fù)行。
結(jié)果中是否存在重復(fù)行無(wú)關(guān)緊要。
您希望查看重復(fù)行。

在本示例中,我們使用 ALL 關(guān)鍵字是因?yàn)槲覀兗炔黄谕麜?huì)返回重復(fù)行,也沒(méi)有略去它們的必要。

SELECT name, price, guarantee_available, exclusive_offer  這是第二個(gè) SELECT 子句,用于引入聯(lián)合查詢中的第二個(gè) SELECT 語(yǔ)句。在編寫(xiě)聯(lián)合查詢時(shí),各個(gè) SELECT 語(yǔ)句中的字段必須相互對(duì)應(yīng),這意味著各個(gè) SELECT 語(yǔ)句必須具有相同的字段數(shù),并且共享通用數(shù)據(jù)的字段必須以相同的順序出現(xiàn)在子句中,同時(shí)這些字段必須具有相同或兼容的數(shù)據(jù)類型,如示例中所示。只有這些字段相互對(duì)應(yīng),才能在查詢輸出中將它們合并在一起。

 注釋    聯(lián)合查詢輸出中的字段名稱從第一個(gè) SELECT 子句中提取。因此,在本示例的查詢輸出中,來(lái)自字段“warranty_available”和“guarantee_available”的數(shù)據(jù)將被命名為“warranty_available”。

FROM Services  這是第二個(gè) FROM 子句,用于完成聯(lián)合查詢中的第二個(gè) SELECT 語(yǔ)句。與 SELECT 子句中的字段不同,聯(lián)合查詢對(duì) FROM 子句沒(méi)有表限制。您既可以創(chuàng)建在每個(gè) FROM 子句中都使用相同的表的聯(lián)合查詢, 也可以在 FROM 子句中使用不同數(shù)目的表。在我們的示例中,每個(gè) FROM 子句都只有一個(gè)表。

TopPageIcon_CLV 返回頁(yè)首

創(chuàng)建聯(lián)合查詢

創(chuàng)建聯(lián)合查詢有兩種基本方法:

先在查詢“設(shè)計(jì)”視圖 (設(shè)計(jì)視圖:顯示數(shù)據(jù)庫(kù)對(duì)象(包括表、查詢、窗體、報(bào)表和宏)的設(shè)計(jì)的視圖。在設(shè)計(jì)視圖中,可以創(chuàng)建新的數(shù)據(jù)庫(kù)對(duì)象以及修改現(xiàn)有對(duì)象的設(shè)計(jì)。)中創(chuàng)建各個(gè)組件選擇查詢,然后將這些查詢合并為一個(gè)聯(lián)合查詢。
直接在 SQL 視圖 (SQL 視圖:用于顯示當(dāng)前查詢的 SQL 語(yǔ)句或用于創(chuàng)建 SQL 特定查詢(聯(lián)合查詢、傳遞查詢或數(shù)據(jù)定義查詢)的對(duì)象標(biāo)簽。在“設(shè)計(jì)”視圖中創(chuàng)建查詢時(shí),會(huì)在 SQL 視圖中構(gòu)建 SQL 的等價(jià)查詢。)中創(chuàng)建整個(gè)聯(lián)合查詢。

在大多數(shù)情況下,您都應(yīng)該先創(chuàng)建選擇查詢,然后再將它們合并為一個(gè)聯(lián)合查詢。在 Office Access 2007 中,“設(shè)計(jì)”視圖提供了一種易用的創(chuàng)建選擇查詢的圖形用戶界面,您可以復(fù)制這些查詢的 SQL 語(yǔ)句并將它們粘貼到聯(lián)合查詢中。

但是,如果您認(rèn)為編寫(xiě) SQL 語(yǔ)句得心應(yīng)手,或者希望獲得更多的 SQL 編寫(xiě)體驗(yàn),則可能更傾向于直接在 SQL 視圖中創(chuàng)建聯(lián)合查詢。

您要做什么?


hrefIcon_ZA10069439 先在“設(shè)計(jì)”視圖中創(chuàng)建選擇查詢,然后合并它們

hrefIcon_ZA10069439 直接在 SQL 視圖中創(chuàng)建聯(lián)合查詢


先在“設(shè)計(jì)”視圖中創(chuàng)建選擇查詢,然后合并它們

按照此方法,將先使用“設(shè)計(jì)”視圖創(chuàng)建每個(gè)選擇查詢,然后使用 SQL 視圖合并選擇查詢。

在“設(shè)計(jì)”視圖中創(chuàng)建每個(gè)選擇查詢

1.“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
2.“顯示表”對(duì)話框中,雙擊要包括的字段所在的表。

這會(huì)將該表添加到查詢?cè)O(shè)計(jì)窗口。

 注釋    雖然您可以在選擇查詢中包括多個(gè)表或查詢,但此過(guò)程假定每個(gè)選擇查詢只包括一個(gè)表中的數(shù)據(jù)。

3.關(guān)閉“顯示表”對(duì)話框。
4.在查詢?cè)O(shè)計(jì)窗口中,雙擊要包括的每個(gè)字段。

選擇字段時(shí),請(qǐng)確保您在其他選擇查詢中以相同順序添加了相同數(shù)目的字段。另外,請(qǐng)注意各個(gè)字段的數(shù)據(jù)類型,確保在要合并的其他查詢中,處于相應(yīng)位置的字段具有兼容的數(shù)據(jù)類型。

例如,如果第一個(gè)選擇查詢具有五個(gè)字段,且第一個(gè)字段包含“日期/時(shí)間”數(shù)據(jù),請(qǐng)確保要合并的其他每個(gè)選擇查詢也具有五個(gè)字段,并且第一個(gè)字段同樣包含“日期/時(shí)間”數(shù)據(jù),依此類推。

5.另外,您還可以在字段網(wǎng)格的“條件”行中鍵入適當(dāng)?shù)?/span>表達(dá)式 (表達(dá)式:算術(shù)或邏輯運(yùn)算符、常數(shù)、函數(shù)和字段名稱、控件和屬性的任意組合,計(jì)算結(jié)果為單個(gè)值。表達(dá)式可執(zhí)行計(jì)算、操作字符或測(cè)試數(shù)據(jù)。),以此向字段中添加條件。
6.在添加完字段和字段條件后,應(yīng)運(yùn)行選擇查詢并查看其輸出。
“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。
7.將查詢切換到“設(shè)計(jì)”視圖。
8.保存該選擇查詢,但不要將其關(guān)閉。
9.對(duì)于要合并的每個(gè)選擇查詢,請(qǐng)重復(fù)此過(guò)程。

在 SQL 視圖中合并選擇查詢

1.“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

在“設(shè)計(jì)”視圖中打開(kāi)一個(gè)新查詢。

2.關(guān)閉“顯示表”對(duì)話框。
3.“設(shè)計(jì)”選項(xiàng)卡上的“查詢”組中,單擊“聯(lián)合”。

將隱藏查詢?cè)O(shè)計(jì)窗口,并顯示 SQL 視圖對(duì)象選項(xiàng)卡。此時(shí),SQL 視圖對(duì)象選項(xiàng)卡中沒(méi)有任何內(nèi)容。

4.單擊要合并在聯(lián)合查詢中的第一個(gè)選擇查詢的選項(xiàng)卡。
5.“開(kāi)始”選項(xiàng)卡上的“視圖”組中,單擊“視圖”,然后單擊“SQL 視圖”。

將顯示該選擇查詢的 SQL 語(yǔ)句。

6.復(fù)制該選擇查詢的 SQL 語(yǔ)句。
7.單擊此過(guò)程在步驟 1 中開(kāi)始創(chuàng)建的聯(lián)合查詢的選項(xiàng)卡。
8.將選擇查詢的 SQL 語(yǔ)句粘貼到聯(lián)合查詢的 SQL 視圖對(duì)象選項(xiàng)卡中。
9.刪除選擇查詢 SQL 語(yǔ)句末尾的分號(hào) (;)。
10.按 Enter 將光標(biāo)移到下一行,然后在新行中鍵入 UNION。

您也可以再在其后鍵入一個(gè)空格,跟著鍵入 ALL 關(guān)鍵字,然后再次按 Enter。

11.單擊要合并到聯(lián)合查詢中的下一個(gè)選擇查詢的選項(xiàng)卡。
12.請(qǐng)重復(fù)此過(guò)程的步驟 5 到步驟 11,直至將選擇查詢的所有 SQL 語(yǔ)句都通過(guò)復(fù)制和粘貼的方式添加到聯(lián)合查詢的 SQL 視圖窗口中。對(duì)于最后一個(gè)選擇查詢的 SQL 語(yǔ)句,請(qǐng)勿刪除其分號(hào)或鍵入任何內(nèi)容。
13.“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。

聯(lián)合查詢的結(jié)果將顯示在“數(shù)據(jù)表”視圖 (數(shù)據(jù)表視圖:以行列格式顯示來(lái)自表、窗體、查詢、視圖或存儲(chǔ)過(guò)程中的數(shù)據(jù)的視圖。在數(shù)據(jù)表視圖中,可以編輯字段、添加和刪除數(shù)據(jù),以及搜索數(shù)據(jù)。)中。

直接在 SQL 視圖中創(chuàng)建聯(lián)合查詢

以下過(guò)程將引導(dǎo)您完成在 SQL 視圖中創(chuàng)建基本聯(lián)合查詢的步驟。

1.“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

在“設(shè)計(jì)”視圖中打開(kāi)一個(gè)新查詢。

2.關(guān)閉“顯示表”對(duì)話框。
3.“設(shè)計(jì)”選項(xiàng)卡上的“查詢”組中,單擊“聯(lián)合”。

將隱藏查詢?cè)O(shè)計(jì)窗口,并顯示 SQL 視圖對(duì)象選項(xiàng)卡。此時(shí),SQL 視圖對(duì)象選項(xiàng)卡中沒(méi)有任何內(nèi)容。

4.“SQL 視圖”對(duì)象選項(xiàng)卡中,鍵入 SELECT,然后鍵入要包括在查詢中的第一個(gè)或第一組表中的字段列表。請(qǐng)使用逗號(hào)將各個(gè)字段名稱隔開(kāi)。在鍵入完字段名稱的列表后,請(qǐng)按 Enter。
5.鍵入 FROM,跟著鍵入包含上一個(gè) SELECT 子句所列字段的表的名稱,然后按 Enter。
6.若要為這些表中的某個(gè)表的字段指定條件,請(qǐng)鍵入 WHERE,跟著鍵入字段名、比較運(yùn)算符(通常為等號(hào) (=))和條件。您還可以使用 AND 和 OR 關(guān)鍵字在 WHERE 子句的末尾添加其他條件。指定條件后,請(qǐng)按 Enter。
7.鍵入 UNION。如果您不希望查詢?cè)谳敵鲋袆h除重復(fù)行,請(qǐng)鍵入一個(gè)空格,跟著鍵入 ALL 關(guān)鍵字,然后按 Enter。
8.鍵入 SELECT,跟著鍵入要包括在查詢中的下一個(gè)或下一組表中的字段列表。這些字段必須與第一個(gè) SELECT 子句中包含的字段相對(duì)應(yīng)且順序相同。請(qǐng)使用逗號(hào)將各個(gè)字段名稱隔開(kāi)。在鍵入完字段名稱后,請(qǐng)按 Enter。
9.鍵入 FROM,跟著鍵入要包括在查詢中的下一個(gè)或下一組表的名稱,然后按 Enter。
10.若要為這些表中的某個(gè)表的字段指定條件,請(qǐng)鍵入 WHERE,跟著鍵入字段名、比較運(yùn)算符(通常為等號(hào) (=))和條件。您還可以使用 AND 關(guān)鍵字在 WHERE 子句的末尾添加其他條件。指定條件后,請(qǐng)按 Enter。
11.要在聯(lián)合查詢中包括其他 Select 語(yǔ)句,請(qǐng)重復(fù)步驟 7 到步驟 10。
12.請(qǐng)鍵入 ; 指示查詢的末尾。
13.“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。

聯(lián)合查詢的結(jié)果將顯示在“數(shù)據(jù)表”視圖 (數(shù)據(jù)表視圖:以行列格式顯示來(lái)自表、窗體、查詢、視圖或存儲(chǔ)過(guò)程中的數(shù)據(jù)的視圖。在數(shù)據(jù)表視圖中,可以編輯字段、添加和刪除數(shù)據(jù),以及搜索數(shù)據(jù)。)中。

TopPageIcon_CLV 返回頁(yè)首

使用聯(lián)合查詢的提示

如果您希望能夠辨別各個(gè)行分別來(lái)自哪個(gè)表,可以在每個(gè) Select 語(yǔ)句中添加一個(gè)文本字符串并將其用作一個(gè)字段。例如,如果有兩個(gè) Select 語(yǔ)句,一個(gè)要檢索 Products 表中的字段,另一個(gè)則要檢索 Services 表中的字段,您可以在第一個(gè)語(yǔ)句的末尾將字符串“Product”添加為字段,而在第二個(gè)語(yǔ)句的末尾將“Service”添加為字段。此外,您還可以使用 AS 關(guān)鍵字向這些字符串分配字段別名(例如“type”),如下面的示例中所示:

SELECT field1, field2, ... "Product" AS type

SELECT field1, field2, ... "Service" AS type

該查詢的輸出將包括一個(gè)名為“type”的字段,其中會(huì)顯示各個(gè)行是來(lái)自 Products 表,還是來(lái)自 Services 表。

每個(gè) UNION 關(guān)鍵字將合并緊跟在它前面和后面的 SELECT 語(yǔ)句。如果您只在查詢的部分 Union 關(guān)鍵字后使用了 ALL 關(guān)鍵字,則結(jié)果將包括由 UNION ALL 合并的 SELECT 語(yǔ)句對(duì)中的重復(fù)行,但不包括只用 UNION 而不用 ALL 關(guān)鍵字合并的 SELECT 語(yǔ)句中的重復(fù)行。
對(duì)于要合并在聯(lián)合查詢中的選擇查詢,雖然其字段的數(shù)目、數(shù)據(jù)類型和順序都必須相對(duì)應(yīng),但如果出現(xiàn)不對(duì)應(yīng)的情況,您也可以使用表達(dá)式(例如計(jì)算或子查詢)讓它們對(duì)應(yīng)起來(lái)。例如,您可以讓兩個(gè)字符的年字段與四個(gè)字符的年字段匹配,方法是使用 Right 函數(shù)提取四個(gè)字符的年的后兩位數(shù)字。
如果要使用某個(gè)聯(lián)合查詢的輸出創(chuàng)建一個(gè)新表,可以將該聯(lián)合查詢用作一個(gè)新選擇查詢的輸入,然后再將該選擇查詢用作生成表查詢 (生成表查詢:一種查詢(SQL 語(yǔ)句),它創(chuàng)建一個(gè)新表,然后通過(guò)從一個(gè)現(xiàn)有表或查詢結(jié)果中復(fù)制記錄在新表中創(chuàng)建記錄(行)。)的基礎(chǔ):
2.創(chuàng)建并保存該聯(lián)合查詢。
3.“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
4.“顯示表”對(duì)話框中,單擊“查詢”選項(xiàng)卡。
5.雙擊該聯(lián)合查詢,然后關(guān)閉“顯示表”對(duì)話框。

 注釋    如果消息欄中顯示了安全警告,則說(shuō)明可能禁用了生成表查詢等動(dòng)作查詢。要允許動(dòng)作查詢運(yùn)行,請(qǐng)單擊消息欄上的“選項(xiàng)”,然后在“Microsoft Office 安全選項(xiàng)”中單擊“啟用此內(nèi)容”。

6.在查詢?cè)O(shè)計(jì)網(wǎng)格中,雙擊聯(lián)合查詢對(duì)象選項(xiàng)卡上的星號(hào) (*),以使用聯(lián)合查詢的所有字段創(chuàng)建新表。

- 或 -

雙擊要在新表中使用的每個(gè)字段。

7.“設(shè)計(jì)”選項(xiàng)卡上的“查詢類型”組中,單擊“生成表”。
8.“生成表”對(duì)話框中,為新表鍵入一個(gè)名稱。您還可以指定另一個(gè)數(shù)據(jù)庫(kù)來(lái)創(chuàng)建新表。完成后請(qǐng)單擊“確定”。
9.“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。
您可以使用聯(lián)合查詢執(zhí)行完全外部聯(lián)接 (外部聯(lián)接:在這種聯(lián)接中,兩個(gè)表中的每條匹配記錄都在查詢結(jié)果中合并為一條記錄,并且其中至少一個(gè)表貢獻(xiàn)出它的所有記錄,即使聯(lián)接字段中的值與對(duì)方表中的字段不匹配也是如此。)。完全外部聯(lián)接并不限制從每個(gè)聯(lián)接表中返回的行,但會(huì)根據(jù)聯(lián)接字段中的值合并這些行。

使用聯(lián)合查詢執(zhí)行完全外部聯(lián)接:

在要用于完全外部聯(lián)接的字段上創(chuàng)建一個(gè)具有左外部聯(lián)接的查詢。
“開(kāi)始”選項(xiàng)卡上的“視圖”組中,單擊“視圖”,然后單擊“SQL 視圖”。
按 Ctrl+C 復(fù)制 SQL 代碼。
刪除 FROM 子句末尾的分號(hào),然后按 Enter。
鍵入 UNION,然后按 Enter。

 注釋    在使用聯(lián)合查詢執(zhí)行完全外部聯(lián)接時(shí),請(qǐng)勿使用 ALL 關(guān)鍵字。

按 Ctrl+V 粘貼您在步驟 3 中復(fù)制的 SQL 代碼。
在粘貼的代碼中,將 LEFT JOIN 更改為 RIGHT JOIN
刪除第二個(gè) FROM 子句末尾的分號(hào),然后按 Enter。
添加一個(gè) WHERE 子句,將 FROM 子句中列出的第一個(gè)表(左表)中的聯(lián)接字段值更改為 NULL。

例如,如果 FROM 子句為:

FROM Products RIGHT JOIN [Order Details]

 ON Products.ID = [Order Details].[Product ID]

則應(yīng)添加以下 WHERE 子句:

WHERE Products.ID IS NULL

在 WHERE 子句的末尾鍵入一個(gè)分號(hào) (;),以指示聯(lián)合查詢已達(dá)末尾。
“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。

TopPageIcon_CLV 返回頁(yè)首