如果資料表被聯結,查詢與檢視設計器 在 圖表窗格中以圖形方式顯示聯結,並在 SQL 窗格中使用 SQL 語法描述。
圖表窗格
在 [圖表] 窗格中,[查詢和檢視設計工具] 會顯示聯結中涉及的數據行之間的聯結線。 查詢及檢視設計器會顯示每個聯結條件的一個聯結行。 例如,下圖顯示兩個已聯結數據表之間的聯結線:
如果使用多個聯結條件聯結數據表,查詢和檢視表設計工具會顯示多個聯結行,如下列範例所示:
如果未顯示聯結的數據行(例如,代表數據表或數據表結構化物件的矩形最小化,或聯結涉及表達式),查詢和檢視表設計工具會將聯結線放在代表數據表或數據表結構化物件的矩形標題欄。
聯結線中間圖示的形狀會指出數據表或數據表結構化對象的聯結方式。 如果聯結子句使用等於 (=) 以外的運算符,運算子就會出現在聯結行圖示中。 下表列出出現在聯結行中的圖示。
| 聯結行圖示 | 說明 |
|---|---|
|
內部聯結(使用等號建立)。 |
|
以「大於」運算符為基礎的內部聯結。 |
|
外部聯結,其中左邊所表示之數據表的所有資料列都會被包含,即使這些資料列在相關數據表中沒有匹配也一樣。 |
|
外部聯接會包含右邊所表示之數據表的所有數據行,即使這些數據行在相關數據表中沒有相符項目也一樣。 |
|
包含這兩個數據表中所有資料列的完整外部連接,即使它們在相關數據表中沒有匹配項也一樣。 |
聯結線結尾的符號表示聯結的類型。 下表列出聯結的類型,以及聯結線結尾所顯示的圖示。
| 位於聯結行結尾的 圖示 | 聯結類型 |
|---|---|
|
一對一聯結。 |
|
一對多連結。 |
|
查詢和檢視表設計工具無法判斷聯結類型。 當您手動建立聯結時,這種情況最常發生。 |
SQL 窗格
聯結可以用 SQL 語句中的數種方式來表示。 確切語法取決於您所使用的資料庫,以及定義聯結的方式。
聯結資料表的語法選項包括:
FROM 子句的 JOIN 限定符。 關鍵詞 INNER 和 OUTER 會指定聯結類型。 此語法是 ANSI 92 SQL 的標準。
例如,如果您根據每個數據表中的
publishers數據行聯結pub_info和pub_id數據表,產生的 SQL 語句可能如下所示:SELECT * FROM publishers INNER JOIN pub_info ON publishers.pub_id = pub_info.pub_id如果您建立外部聯結,LEFT OUTER 或 RIGHT OUTER 字就會出現取代 INNER 一詞。
WHERE 子句會比較兩個資料表中的欄位。 當資料庫不支援 JOIN 語法時,會出現 WHERE 子句(或者當您自行輸入時)。 如果在 WHERE 子句中建立聯結,這兩個數據表名稱都會出現在 FROM 子句中。
例如,下列語句會聯結
publishers和pub_info數據表。SELECT * FROM publishers, pub_info WHERE publishers.pub_id = pub_info.pub_id