Oracle の接続タイプは、内部接続と外部接続に分類されます。内部結合は一致する行のみの結果を返しますが、外部結合は一致する行と 1 つのテーブルにのみ出現する行を返します。外部結合には、左外部結合 (左側のテーブルからすべての行を返す)、右外部結合 (右側のテーブルからすべての行を返す)、完全外部結合 (両方のテーブルからすべての行を返す) の 3 種類があります。内部結合の特徴は、左外部結合は NULL を使用して右テーブルの NULL 値を埋め、右外部結合は NULL を使用して左テーブルの NULL 値を埋め、完全外部結合は NULL を使用して行を照合することです。テーブルの両側の null 値を埋めます。
#Oracle の内部結合と外部結合の違い
#定義:
タイプ:
外部結合には 3 つのタイプがあります:違い:
内部結合 | 左外部結合 | 右外部結合 | 完全外部結合 | |
---|---|---|---|---|
行のみ一致 | 左側のテーブルのマッチング | 右側のテーブルのマッチング | 両側のテーブルのマッチング | |
マッチング行 | 左側のテーブルのすべての行 | 右側のテーブルのすべての行 | 2 つのサイド テーブルのすべての行 | |
一致する行のみを表示 | NULL を使用して右側のテーブルの空の値を埋めます | NULL を使用して左側のテーブルの空の値を埋めます | NULL を使用して、テーブルの両側の空の値を埋めます |
#2 つのテーブルがあるとします。
テーブル A
テーブル B
<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>
id を持つ行表 B (ある場合)。一致しない行は NULL で埋められます。 サンプル クエリ:
次のクエリは、左外部結合を使用して 2 つのテーブルのデータを結合し、すべての顧客とその住所を表示します:
<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 中国語 Web サイトの他の関連記事を参照してください。