MySQLの外部結合と内部結合クエリの違い

MySQLの外部結合と内部結合クエリの違い

外部結合の構文は次のとおりです。

フィールド名を選択
FROM テーブル名 1 LEFT|RIGHT|FULL| [OUTER] JOIN テーブル名 2
ON テーブル名 1. フィールド名 1 = テーブル 2. フィールド名 2

左外部結合

左外部結合の結果セットには、左テーブルのすべてのレコードと、結合条件を満たす右テーブルのレコードが含まれます。結果セットで結合条件を満たさない右テーブルの列値は null になります。

左結合

右外部結合

右外部結合は左外部結合の逆です。右外部結合の結果セットには、右テーブルのすべてのレコードと、結合条件を満たす左テーブル内のレコードが含まれます。結果セット内の結合条件を満たさないソーステーブルと左テーブルの列値は null になります。

内部結合

内部結合クエリは、テーブル T1 の各行をテーブル T2 の各行と比較し、結合述語を満たす組み合わせを見つけます。結合述語が満たされると、A と B の一致する行が列ごとに (並べて) 結合され、結果セット内の 1 つの行になります。

詳しく説明するために、いくつかの例を挙げます。

T1 テーブル:

ID名前
1中等学校
2張三
3李思

T2 テーブル:

ID職業
1学生
2教師
4校長

内部結合の結果:

T1.*、T2.*を選択します。
TI 内部結合 T2 から
  A.Id=B.Id オン
識別子名前イド1職業
1中等学校1学生
2張三2教師

左結合結果:

T1.*、T2.*を選択します。
TI 左から T2 へ接続
  A.Id=B.Id オン
識別子名前イド1職業
1中等学校1学生
2張三2教師
3李思NULL NULL

右結合結果:

T1.*、T2.*を選択します。
TIから右にT2に合流
  A.Id=B.Id オン
識別子名前イド1職業
1中等学校1学生
2張三2教師
NULL NULL 4校長

要約する

これで、MySQL の外部結合クエリと内部結合クエリに関するこの記事は終了です。MySQL の外部結合クエリと内部結合クエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL データベースの詳細な説明 - 複数テーブル クエリ - 内部結合、外部結合、サブクエリ、相関サブクエリ
  • MySQLのケース分析で外部結合構文を説明

<<:  Facebookの情報アーキテクチャの分析

>>:  ReactとReduxの関係を詳しく説明

推薦する

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

MySQLデータベース操作の基本コマンド

1. データベースを作成します。 データ data _name を作成します。 PHP でデータベー...

DockerにMySQLをインストールする方法

最近 Django を導入しましたが、MySQL を手動でインストールしたくなかったので、Docke...

mysql 8.0.18 mgr のインストールと切り替え機能

1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...

MySQL コード実行構造例の分析 [シーケンス、分岐、ループ構造]

この記事では、例を使用して MySQL コード実行構造について説明します。ご参考までに、詳細は以下の...

要素タイムラインの実装

目次コンポーネント - タイムラインカスタムノードスタイルカスタムタイムスタンプコンポーネント - ...

CSSのさまざまな背景、使用シナリオ、テクニックの詳細な分析

この記事はGitHub https://github.com/qq449245884/xiaozhi...

Mysql テーブルで利用可能な最小 ID 値を照会する方法

今日、研究室のプロジェクトを見ていたとき、私にとって「難しい」問題に遭遇しました。実は、それは私があ...

ダイナミックな波効果を実現するSVG+CSS3

ベクトル波 <svg viewBox="0 0 560 20" class...

JavaScriptの無限ループを検出して防止する方法の詳細な説明

目次序文for文の無限ループを修正while文の無限ループを修正要約する序文Js デッド ループはど...

MySQL ストアド プロシージャのクエリ コマンドの概要

以下のように表示されます。 mysql.proc から名前を選択します (db='データベー...

MySQLカバーインデックスの使用例

カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...

Node.js でのクラスター作成に関する簡単な説明

目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...