如何:建立外部聯結
根據預設,查詢和檢視表設計工具會在資料表間建立內部聯結。 當要將資料列包含在結果集中,而這個結果集和聯結資料表中的資料都不相符時,即可以建立外部聯結。
在建立外部聯結時,資料表在 SQL 陳述式中出現的順序 (如 [SQL] 窗格所反映) 非常重要。 您加入的第一個資料表會成為「左」資料表,第二個資料表會成為「右」資料表 (資料表出現在 [圖表] 窗格的實際順序並不重要)。 在指定左或右外部聯結時,是指這些資料表加入查詢時的順序,以及它們出現在 SQL 窗格的 SQL 陳述式中的順序。
![]() |
---|
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置:您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要建立外部聯結
自動或手動建立聯結。 如需詳細資訊,請參閱 如何:自動聯結資料表或 如何:手動聯結資料表。
當要包含某資料表的額外資料列時,選取 [圖表] 窗格中的聯結線,然後從 [查詢設計工具] 功能表選擇 [選取 <tablename> 中所有的資料列],以選取包含該資料表的命令。
選擇第一個資料表以建立左外部聯結。
選擇第二個資料表以建立右外部聯結。
選擇兩個資料表以建立完整外部聯結。
注意事項
某些資料庫 (例如,Oracle) 不支援完整外部聯結。
在指定外部聯結時,[查詢和檢視表設計工具] 會修改聯結線以指出外部聯結。
此外,[查詢和檢視表設計工具] 會修改 [SQL] 窗格中的 SQL 陳述式,以反映聯結類型的變更,如下列陳述式所示:
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee LEFT OUTER JOIN jobs ON
employee.job_id = jobs.job_id
因為外部聯結包含不符的資料列,因此可以用它來尋找違反外部索引鍵條件約束的資料列。 若要如此,可以建立外部聯結,然後加入搜尋條件,以尋找最右方資料表中主索引鍵資料行為 null 的資料列。 例如,下列外部聯結會找出 employee 資料表中的資料列,該資料表和 jobs 資料表沒有相對應的資料列:
SELECT employee.emp_id, employee.job_id
FROM employee LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL)