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の関係を詳しく説明

推薦する

Vue ElementUI は非同期読み込みツリーを実装します

この記事の例では、vue ElementUI の非同期読み込みツリーを実装するための具体的なコードを...

CentOS8 Linux 8.0.1905 のインストール手順(図解)

現在、CentOS の最新バージョンは CentOS 8 です。次に、CentOS Linux 8....

Dockerデータ管理とネットワーク通信の使用

Docker をインストールし、Docker コアとインストールを通じて簡単な操作を実行できます。 ...

nginx の http リクエスト処理の各段階の詳細な分析

nginx の HTTP モジュールを作成する場合、リクエスト開始時のアクセス許可の有無、コンテンツ...

JS配列メソッドsome、every、findの使用に関する詳細

目次1. いくつか2. すべての3. 見つける1. いくつかsome()メソッドは、指定された関数の...

kindとDockerを使用してローカルKubernetes環境を起動する

導入Kubernetes を使い始めるのに丸一日を費やしたことはありませんか?最近登場したいくつかの...

Vueは州、都市、地区のカスケード選択を実現します

最近、省、市、地区のカスケード選択効果を実装する必要があります。省、市、地区のデータはすべてローカル...

CentOS での MySQL ログイン 1045 問題を解決する

アプリケーション全体を CentOS にデプロイする必要があるため、当然ながらデータベース操作は不可...

HTMLハイパーリンクタグAのTARGET属性の詳細な説明

ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...

Linux deb パッケージの解凍、変更、その他の操作方法のコード例

さまざまな理由により、debパッケージ内のさまざまなファイルの内容を直接変更する必要がある場合があり...

HTML ブロックレベルタグとインラインタグの違い

1. ブロックレベル要素: 独立して存在できる能力を指します。通常、ブロックレベル要素は改行によって...

フレックスボックスレイアウトの最終行の左揃えの実装アイデア

フレックスレイアウトを使用すると、9つの正方形のグリッドであれば、図に示すように均等に分割できます。...

表の最初の行と最初の列を固定し、適応型ウィンドウを実現するための CSS の例コード

今日のキャンパス採用筆記試験では、固定された最初の行と最初の列を実装し、幅をウィンドウの変更に適応さ...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

ビジュアルデザイナーの成長の3つの段階のまとめ

この本「グラフィックデザイナーとして成長する」は多くの人が読んでおり、私もオリジナルの PDF 版を...