Oracleの内部結合と外部結合の違い

下次还敢
リリース: 2024-04-30 07:18:17
オリジナル
657 人が閲覧しました

Oracle の接続タイプは、内部接続と外部接続に分類されます。内部結合は一致する行のみの結果を返しますが、外部結合は一致する行と 1 つのテーブルにのみ出現する行を返します。外部結合には、左外部結合 (左側のテーブルからすべての行を返す)、右外部結合 (右側のテーブルからすべての行を返す)、完全外部結合 (両方のテーブルからすべての行を返す) の 3 種類があります。内部結合の特徴は、左外部結合は NULL を使用して右テーブルの NULL 値を埋め、右外部結合は NULL を使用して左テーブルの NULL 値を埋め、完全外部結合は NULL を使用して行を照合することです。テーブルの両側の null 値を埋めます。

Oracleの内部結合と外部結合の違い

#Oracle の内部結合と外部結合の違い

#定義:

  • INNER JOIN: 2 つ以上のテーブル内の一致するすべての行からのデータのみを返します。
  • 外部結合: 2 つ以上のテーブル内の一致するすべての行、および 1 つのテーブルにのみ存在する行からデータを返します。

タイプ:

外部結合には 3 つのタイプがあります:

  • LEFT OUTER JOIN:左側のテーブルのすべての行と、右側のテーブルの一致する行を返します。
  • RIGHT OUTER JOIN: 右側のテーブルのすべての行と、左側のテーブルの一致する行を返します。
  • Full OUTER JOIN: 行間に一致がない場合でも、両方のテーブルから行を返します。

違い:

特徴内部結合左外部結合右外部結合完全外部結合##マッチング原則戻り行Null 値の処理##例:
行のみ一致 左側のテーブルのマッチング 右側のテーブルのマッチング 両側のテーブルのマッチング
マッチング行 左側のテーブルのすべての行 右側のテーブルのすべての行 2 つのサイド テーブルのすべての行
一致する行のみを表示 NULL を使用して右側のテーブルの空の値を埋めます NULL を使用して左側のテーブルの空の値を埋めます NULL を使用して、テーブルの両側の空の値を埋めます

#2 つのテーブルがあるとします。

テーブル A
    :
  • id, nameテーブル B
  • :
  • id , 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 で埋められます。 サンプル クエリ:

次のクエリは、左外部結合を使用して 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート