查詢和檢視表設計工具表示聯結的方式
如果資料表是聯結的,查詢和檢視表設計工具將在圖表窗格中以圖形表示該聯結,和在 SQL 窗格中以 SQL 語法表示該聯結。
圖表窗格
[查詢和檢視表設計工具] 會在 [圖表] 窗格中,顯示與聯結相關之資料行間的聯結線。 [查詢和檢視表設計工具] 可顯示每個聯結條件的聯結線。 例如,下列圖示即說明兩個聯結的資料表之間的聯結線:
如果資料表使用一個以上的聯結條件來進行聯結,[查詢和檢視表設計工具] 將顯示多重聯結線,如下列範例所示:
如果聯結線並未顯示 (例如,代表資料表或表格化物件的矩形被最小化,或該聯結使用運算式),[查詢和檢視表設計工具] 將聯結線放在代表資料表或表格化物件之矩形的標題列上。
聯結線中間的圖示形狀即表示資料表或表格化物件的聯結方式。 如果聯結子句使用等號 (=) 以外的運算子,該運算子將出現在聯結線圖示中。 下表將列出可顯現於聯結線中的圖示。
聯結線圖示 |
描述 |
---|---|
內部聯結 (使用等號建立)。 |
|
使用「大於」運算子的內部聯結。 |
|
包括左邊資料表所有資料列的外部聯結,即使該資料表在相關資料表並沒有相符項目。 |
|
包括右邊資料表所有資料列的外部聯結,即使該資料表在相關資料表中並沒有相符項目。 |
|
同時包括兩邊資料表所有資料列的完整外部聯結,即使該資料表在相關資料表中並沒有相符項目。
注意事項
某些資料庫 (例如,Oracle) 不支援完整外部聯結。
|
聯結線結束部分的符號可表示聯結的類型。 下表即列出聯結的類型和顯示在聯結線結束部分的圖示。
聯結線結束部分所顯示的圖示 |
聯結類型 |
---|---|
一對一聯結。 |
|
一對多聯結。 |
|
[查詢和檢視表設計工具] 無法決定聯結類型。 當您手動建立某個聯結後,常會發生這種情況。 |
SQL 窗格
SQL 陳述式有數種方法來表示聯結。 確切的語法則視您使用的資料庫和您定義聯結的方式而定。
聯結資料表的語法選項包括:
FROM 子句的 JOIN 限定詞。關鍵字 INNER 和 OUTER 將指定聯結類型。 這是 ANSI 92 SQL 的標準語法。
例如,如果您根據每個資料表中的 pub_id 資料行來聯結 publishers 和 pub_info 資料表,將產生以下 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