Oracle 中的連線類型分為內連接和外連接。內連線僅傳回符合行的結果,而外連線傳回符合行和僅出現在一個表中的行。外連接有三種類型:左外連接(返回左側表所有行)、右外連接(返回右側表所有行)、全外連接(返回兩側表所有行)。內連接的特徵是匹配行,左外連接用 NULL 填充右側表空值,右外連接用 NULL 填充左側表空值,全外連接用 NULL 填充兩側表空值。
Oracle 中內連接和外部連接的差異
定義:
類型:
##外連接有三種類型:區別:
內連接 | 左外連接 | 右外連接 | 全外連接 | |
---|---|---|---|---|
只符合行 | 左側表匹配 | 右側表匹配 | 兩側表匹配 | |
匹配行 | 左側表所有行 | 右側表所有行 | #兩側表所有行 | |
僅顯示匹配行 | 用NULL 填充右側表空值 | 用NULL 填充左側表空值 | 用NULL 填充兩側表空值 |
範例:
假設我們有兩個表格:,
name
,
address
內連線:
<code>SELECT * FROM A INNER JOIN B ON A.id = B.id;</code>
傳回:僅有符合id 的行。
左外連接:
<code>SELECT * FROM A LEFT OUTER JOIN B ON A.id = B.id;</code>
返回:所有來自表A 的行,以及具有匹配id 的來自表B 的行(如果有)。非匹配的行以 NULL 填入。
範例查詢:
以下查詢使用左外連接將兩個表中的資料連接起來,並顯示所有客戶及其位址:<code>SELECT customers.name, orders.order_date, products.product_name FROM customers LEFT OUTER JOIN orders ON customers.id = orders.customer_id LEFT OUTER JOIN products ON orders.product_id = products.id;</code>
以上是oracle中內連接和外連接的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!