二項関係演算: 連結と除算

王林
リリース: 2023-09-11 18:53:02
転載
1063 人が閲覧しました

二項関係演算: 連結と除算

データベース管理システムでは、複数のテーブルからデータを結合して取得する機能は、効果的なデータの編成と操作に不可欠です。 JOIN 操作と DIVISION 操作は、ユーザーが指定された条件に基づいて複数のテーブルのデータを結合または分割できる 2 つのバイナリ リレーショナル操作です。この記事では、構文、型、SQL やその他のプログラミング言語での使用方法の例など、JOIN 操作と DIVISION 操作について詳しく説明します。

JOIN操作とは何ですか?

JOIN 操作は、関連する列または列のセット (キーと呼ばれます) に基づいて 2 つ以上のテーブルの行を結合します。結果として得られるテーブルは結合テーブルと呼ばれ、元のテーブルのすべての列が含まれており、各行は結合条件を満たす元のテーブルの行の組み合わせを表します。

JOIN には多くの種類があり、それぞれに独自の特性と使用例があります -

  • INNER JOIN- INNER JOIN は、結合基準に一致する 2 つのテーブルの行を結合します。条件を満たす行のみを返し、残りは破棄します。

  • OUTER JOIN- OUTER JOIN は、結合条件を満たさない行も含め、2 つのテーブルのすべての行を結合します。 OUTER JOIN には、LEFT JOIN、Right JOIN、FULL JOIN の 3 種類があります。

  • LEFT JOIN- LEFT JOIN は、左側のテーブルのすべての行と、右側のテーブルの一致するすべての行を返します。一致するものがない場合は、右側のテーブルの列に対して NULL 値が返されます。

  • RIGHT JOIN- RIGHT JOIN は、右側のテーブルのすべての行と、左側のテーブルの一致するすべての行を返します。一致しない場合は、左側のテーブルの列に NULL 値が返されます。

  • FULL JOIN- FULL JOIN は、両方のテーブルのすべての行に加えて、一致しない行の NULL 値を返します。

JOIN 構文

JOIN 操作の構文は、使用するプログラミング言語とデータベース管理システムによって異なります。以下は、SQL -

での JOIN 操作の一般的な構文の例です。 リーリー

この例では、SELECT ステートメントで table1 と table2 のすべての列を取得し、JOIN 句で ON キーワードを使用して結合するテーブルと結合条件を指定します。

接続例

以下は、「customer_id」列に基づいて「customers」テーブルと「orders」テーブルを結合する SQL の INNER JOIN の例です。 -

リーリー

この INNER JOIN は、"customers" テーブルと "orders" テーブルのすべての行を含むテーブルを返します。ここで、"customers" テーブルの "customer_id" 列は、"orders" テーブルの "customer_id" 列と一致します。

以下は、「Department_id」列に基づいて「employees」テーブルと「Departments」テーブルを結合する SQL の LEFT JOIN の例です。 -

リーリー

この LEFT JOIN は、「employees」テーブルのすべての行と、「Departments」テーブルの一致するすべての行を含むテーブルを返します。一致するものがない場合は、「Departments」テーブルの列に対して NULL 値が返されます。

除算演算とは何ですか?

DIVISION 演算は、指定された条件に基づいて、ある行セットを別の行セットに分割するバイナリ リレーショナル演算です。これは JOIN 操作に似ていますが、結果テーブルには最初のグループに属し、パーティション化基準を満たす行のみが含まれます。

除算構文

DIVISION 演算の構文は、使用するプログラミング言語とデータベース管理システムによって異なります。以下は、SQL -

での DIVISION 演算の一般的な構文例です。 リーリー

この例では、SELECT ステートメントは table1 内のすべての列を取得し、WHERE 句は EXISTS キーワードを使用して、分割条件を満たす行が table2 にあるかどうかを確認します。

分割例

次に、SQL での DIVISION 操作の例を示します。これは、「customers」テーブルを「customer_type」列に基づいて 2 つのコレクションに分割します -

リーリー

この DIVISION 演算は、「customer_id」列に基づいて「orders」テーブル内に一致する行がある「customers」テーブル内のすべての行を含むテーブルを返します。

重要なポイント

ここでは、JOIN 操作と DIVISION 操作を理解するのに役立つ追加トピックをいくつか紹介します -

  • 自然結合と外部結合- 自然結合は、同じ名前の列に基づいて 2 つ以上のテーブルの行を結合する内部結合です。外部結合は、結合条件を満たさない一方または両方のテーブルの行を含む任意のタイプの結合です。

  • デカルト積- デカルト積は、結合条件を指定しない JOIN 操作の結果です。一方のテーブルの各行ともう一方のテーブルの各行を結合し、元の各テーブルの行数の積に等しい行数を持つテーブルを作成します。

  • 自己結合- 自己結合は、結合条件に基づいて単一のテーブルの行を結合する結合タイプです。同じテーブル内の行を比較したり、テーブル内に階層を作成したりする場合に便利です。

  • SET 演算子- SET 演算子は、複数の SELECT ステートメントの結果を 1 つの結果セットに結合するために使用されます。これらを JOIN および DIVISION 操作と組み合わせて使用すると、複数のテーブル内のデータをさらに操作できます。最も一般的な SET 演算子は、UNION、INTERSECT、および MINUS です。

  • インデックス作成- インデックス作成は、テーブル内の行へのアクセスを高速化するための別個のデータ構造を作成するプロセスです。これを使用すると、スキャンおよび比較する必要があるデータの量を削減することにより、JOIN および DIVISION 操作のパフォーマンスを向上させることができます。

###結論は###

JOIN 操作と DIVISION 操作は、複数のテーブルのデータを結合および分割するためのデータベース管理システムの重要なツールです。これらの操作の構文とユースケースを理解することで、データベース内のデータを効率的に取得して操作できるようになります。

以上が二項関係演算: 連結と除算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!