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を使用してオンラインライブ放送に似たキューアニメーションを実装する方法

推薦する

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

Web デザイン: Web ミュージックの実装テクニック

<br />Web ページに音楽を挿入する場合、サフィックスに応じて異なるコードを記述す...

HTML ハイパーリンク タグ_Powernode Java アカデミー

HTML を学習したり使用したりしたことがある人なら、<a> タグについてよく知っている...

Alibaba Cloud CentOS 7 に yum を使用して MySQL をインストールする正しい方法 (推奨)

yum クイックインストール mysql yumリポジトリを追加する rpm -Uvh http:...

レアタグフィールドセットと凡例の使用方法の詳細な説明

<fieldset>と<legend>については、ほとんどの人はおそらく馴染...

Linuxにpipパッケージをインストールする方法

1. システムの Python バージョンに応じて、pip インストール パッケージをダウンロードし...

メタタグの詳しい説明(メタタグの役割)

個人のウェブサイトがどんなに素晴らしいものであっても、サイバースペースの広大な海に浮かぶ小さなボート...

Linux CentOS インストール JDK および Tomcat チュートリアル

まずJDKをダウンロードします。ここではjdk-8u181-linux-x64.tar.gzを使用し...

Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法

Linux に nginx と複数の tomcat をインストールする方法はここでは紹介しません。不...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...

1 つ以上のフィールドに基づいて重複データを検索する MySQL SQL ステートメント

SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...

詳細なハードウェア情報を取得するための Linux のいくつかのコマンドの詳細な説明

Linux システム、特にサーバー システムでは、デバイスのハードウェア情報を表示する必要がよくあり...

Windows7 での Mysql5.7 my.ini ファイルの読み込みパスとデータの場所の変更方法

更新: MySQL の公式 Web サイトにアクセスして MySQL インストーラーをインストールし...

CentOS8 - bash: 文字化けとその解決方法

この状況は通常、中国語言語パックがインストールされていないか、デフォルトの言語設定に問題があるために...