MySQL マルチテーブル結合クエリの詳細な説明

MySQL マルチテーブル結合クエリの詳細な説明

複数テーブル結合クエリ

テーブル間の接続は内部接続と外部接続に分かれています

  • 内部結合: 2つのテーブルで一致するレコードのみを選択します
  • 外部結合: 2 つのテーブル内の一致するレコードと一致しないレコードの両方が含まれます。外部結合は、左外部結合 (左結合) と右外部結合 (右結合) に分けられます。

内部結合

まず、2つのテーブルを用意します

学生テーブル

ここに画像の説明を挿入

スコア表

ここに画像の説明を挿入

内部結合: 各テーブルで条件を満たす共通レコードを検索します。学生テーブルで学生の名前とスコアを照会します。

最初の書き方:whereのみを使用する

学生 a、スコア b から a.s_name、b.s_score を選択します。ここで、a.s_id = b.s_id です。

2 番目の書き方: join ... on ...

学生Aからa.s_name、b.s_scoreを選択し、a.s_id = b.s_idでスコアbを結合します。

3 番目の書き方: inner join … on…

学生Aからa.s_name、b.s_scoreを選択し、a.s_id = b.s_idでスコアbを内部結合します。

ここに画像の説明を挿入

左結合

左結合: 左のテーブルのレコードに従って、接続された右のテーブルで条件を満たすレコードを検索して一致させます。左のテーブルに一致するレコードが見つからない場合は、null を使用してそれらを表します。

最初の書き方: 左結合…オン…

学生 a の左側から a.s_name、b.s_score を選択し、スコア b を a.s_id = b.s_id に結合します。

2 番目の書き方: left outer join … on …

学生 a から a.s_name、b.s_score を選択し、a.s_id = b.s_id でスコア b を左外部結合します。

ここに画像の説明を挿入

右結合

**右結合: **右側のテーブルのレコードに従って、接続された左側のテーブルで条件を満たすレコードを検索して一致させます。一致するものが見つからない場合は、null で表されます。

最初の書き方: … を右結合して … にします。

学生aからa.s_name、b.s_scoreを選択し、スコアbをa.s_id = b.s_idに右結合します。

2 番目の書き方: 右外部結合 … 上 …

学生aからa.s_name、b.s_scoreを選択し、スコアbをa.s_id = b.s_idで右外部結合します。

ここに画像の説明を挿入

サブクエリ

サブクエリ: 複数テーブル結合クエリを実装する方法です。別の選択ステートメントが、選択ステートメントの from 句または where 句にネストされます。外側の選択クエリ ステートメントがメイン クエリになります。つまり、WHERE または FORM 内のクエリ ステートメントはサブクエリと呼ばれます。

WHERE句のサブクエリ: サブクエリによって返される値は、メインクエリのクエリ条件として使用されます。

FROM 句のサブクエリ: サブクエリは仮想テーブルを返し、メインクエリは一時テーブルから条件を満たす条件を検索します。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL の結合クエリとサブクエリの問題
  • どのような種類の MYSQL 接続クエリを知っていますか?
  • MySQL接続クエリの原理と応用
  • MySQL 結合クエリ構文と例
  • MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明
  • Mysql 自己結合クエリ例の詳細な説明
  • MySQL マルチテーブル結合クエリ例の説明
  • MySQL接続クエリの詳細な説明

<<:  Linux の操作とメンテナンスの基本 httpd 静的 Web ページ チュートリアル

>>:  CSS3を使用してオンラインライブ放送に似たキューアニメーションを実装する方法

推薦する

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

記事マインドマップマスター/スレーブ レプリケーションと読み取り/書き込み分離を使用する理由は何です...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

Linux ソースコードからのソケット (TCP) バインドの詳細な説明

目次1. 最も単純なサーバー側の例2. バインドシステムコール2.1、inet_bind 2.2、i...

VMwareを使用したPermeateレンジシステムのインストール手順の詳細説明

1. 背景私たちは時々社内研修を行っており、実験環境をよく利用しています。最初はdockerコンテナ...

Docker で Oracle 11g イメージ構成をプルダウンする際の問題を分析する

1. イメージをプルするdocker pull レジストリ.cn-hangzhou.aliyuncs...

HTML/CSS におけるフロートの使用例の詳細

1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...

Centos7 での python3 のインストールとアンインストールに関するチュートリアル

1. Python 3をインストールする1. 依存パッケージをインストールしますyum instal...

ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

Linux で open-vswitch をインストールおよびアンインストールする方法

1. ソースコードからovsをコンパイルしてインストールします。依存関係をインストールします: # ...

vueプロジェクトは特定の領域に透かしを描くことを実現する

この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...

JavaScript における var と let の違い

目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...

Nginx をベースに特定の IP への短期アクセス数を制限する

特定の期間内に特定の IP へのアクセス回数を制限する方法は、特に悪意のある DDOS 攻撃に直面し...

MySQL マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス

序文DBA として、仕事中に MySQL マスターとスレーブの同期遅延の問題に遭遇することがよくあり...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...

MySQLの共通関数の概要

序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...