7つのMySQL JOINタイプのまとめ

7つのMySQL JOINタイプのまとめ

始める前に、これから紹介する JOIN タイプを示すために 2 つのテーブルを作成します。

テーブルを作成する

テーブル `tbl_dept` を作成します (
   `id` INT(11) NOT NULL AUTO_INCREMENT,
   `deptName` VARCHAR(30) デフォルト NULL,
   `locAdd` VARCHAR(40) デフォルト NULL,
   主キー (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 デフォルト CHARSET=utf8;
テーブル `tbl_emp` を作成します (
   `id` INT(11) NOT NULL AUTO_INCREMENT,
   `name` VARCHAR(20) デフォルト NULL,
   `deptId` VARCHAR(11) NOT NULL,
   主キー (`id`)、
   キー `fk_dept_id` (`deptId`)
) ENGINE=INNODB AUTO_INCREMENT=1 デフォルト CHARSET=utf8;

データの初期化

7種類のJOIN

1. A∩B

 SELECT <選択リスト>
 表AからA
 INNER JOIN TableB B # TOTAL ON A.Key = B.Key 

2. A ( = A ∩ B + A* )

 SELECT <選択リスト>
 表AからA
 LEFT JOIN テーブルB B
 Aキーオン = Bキー

3. B ( = A ∩ B + B* )

 SELECT <選択リスト>
 表AからA
 右結合テーブルB B
 Aキーオン = Bキー

4. A* ( = A - A ∩ B )

 SELECT <選択リスト>
 表AからA
 LEFT JOIN テーブルB B
 ON A.Key = B.Key # メインテーブルは ON WHERE B.Key IS NULL のときに保持されます # テーブル A のデータをフィルターします

5. B* ( = B - A ∩ B )

 SELECT <選択リスト>
 表AからA
 右結合テーブルB B
 Aキーオン = Bキー
 A.KeyがNULLの場合

6. A∪B

 SELECT <選択リスト>
 表AからA
 FULL OUTER JOIN TableB B ## FULL OUTER ON A.Key = B.Key は Oracle でのみサポートされています

7. A ∪ B - A ∩ B

 SELECT <選択リスト>
 表AからA
 完全外部結合 テーブルB B
 Aキーオン = Bキー
 A.Key が NULL であるか、B.Key が NULL である場合

これで、7 つの MySQL JOIN タイプに関するこの記事は終了です。MySQL の結合タイプの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MYSQL データベースの基礎 - 結合操作の原理
  • MySQL 結合バッファの原理
  • mysql-joinsの具体的な使用方法
  • MySQL 結合クエリ構文と例
  • MySQL におけるさまざまな一般的な結合テーブルクエリの例の概要
  • MySQLの7つのJOINの具体的な使い方

<<:  CSSを使用してアダプティブスクエアを実装する方法の例

>>:  メタ情報に基づいて時間指定のページ更新またはリダイレクトを実装する

推薦する

KVM 仮想マシンのオンライン ホット マイグレーションを実装する方法 (画像とテキスト)

1. KVM仮想マシンの移行方法と注意すべき点KVM 仮想マシンを移行する方法は 2 つあります。...

Vueのログインとログアウトの詳細な説明

目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...

正の整数かどうかを判断するMYSQLカスタム関数の例コード

関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

MySQLデータベースのnullに関する知識ポイントのまとめ

MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...

MySQL の低速クエリの最適化: 理論と実践からの制限の利点

多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

MySQLデータベースのSYNフラッディング問題を解決する

Syn 攻撃は、最も一般的で最も簡単に悪用される攻撃方法です。TCP プロトコルの欠陥を利用して、偽...

航空機戦争ゲームを実装するためのネイティブJS

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...

Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...

MySQL の一般的なログの概要

序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...

MySQLデータベースのデータテーブルに関する詳細な基本操作

目次1. 現在のデータベース内のテーブルを表示する2. テーブルを作成する3. 指定されたテーブル構...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...