mysql 結合クエリ (左結合、右結合、内部結合)

mysql 結合クエリ (左結合、右結合、内部結合)

1. MySQLの一般的な接続

  • INNER JOIN (内部結合、または等価結合): 2 つのテーブル内の一致するフィールドを持つレコードを取得します。
  • LEFT JOIN: 右側のテーブルに対応する一致するレコードがない場合でも、左側のテーブルのすべてのレコードを取得します。
  • RIGHT JOIN: LEFT JOIN の反対で、左側のテーブルに対応する一致するレコードがない場合でも、右側のテーブルのすべてのレコードを取得するために使用されます。
mysql> name_address から * を選択します。
+----------+------+----+
| 住所 | 名前 | ID |
+----------+------+----+
| 北西路 | 張三 | 1 |
| 北西二路 | 李四 | 2 |
| 北西三路 | 王武 | 3 |
+----------+------+----+
3行セット

mysql> name_age から * を選択します。
+-----+--------+----+
| 年齢 | 名前 | ID |
+-----+--------+----+
| 18 | 張三 | 1 |
| 20 | 王武 | 2 |
| 21 | 通行人 | 3 |
+-----+--------+----+
3行セット

1. 内部結合

INNER JOIN は一般的なテーブル結合クエリと一致しており、クエリ方法はコンマで区切られます。

mysql> SELECT a.`name`,a.age,b.address FROM name_age a INNER JOIN name_address b WHERE (on) a.`name`=b.`name`;
+------+-----+-----------+
| 名前 | 年齢 | 住所 |
+------+-----+-----------+
| 張三 | 18 | 北西路 |
| 王武| 20 | 北西三路|
+------+-----+-----------+
2行セット

2. 左結合

左のデータ表をご参照ください。

mysql> SELECT a.`name`,a.age,b.address FROM name_age a left JOIN name_address b on
 a.`名前`=b.`名前`;
+--------+-----+-----------+
| 名前 | 年齢 | 住所 |
+--------+-----+-----------+
| 張三 | 18 | 北西路 |
| 王武| 20 | 北西三路|
| 通行人| 21 | NULL |
+--------+-----+-----------+
3行セット

3. 右結合

LEFT JOINの反対、つまり右側のデータが基準として使用される

mysql> SELECT b.`name`,a.age,b.address FROM name_age a right JOIN name_address b on a.`name`=b.`name`;
+------+------+----------+
| 名前 | 年齢 | 住所 |
+------+------+----------+
| 張三 | 18 | 北西路 |
| 王武| 20 | 北西三路|
| 李思 | NULL | 北西二路 |
+------+------+----------+
3行セット

上記は、MySQL 接続クエリの情報のまとめです。ご質問がある場合は、メッセージを残して話し合い、一緒に進歩することができます。お読みいただきありがとうございます。皆様のお役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQLの左結合と内部結合について簡単に説明します
  • MYSQL 左結合、右結合、内部結合の詳細な説明と違い
  • mysql 左結合、右結合、内部結合
  • MySQL の内部結合、左結合、右結合クエリの詳細な説明

<<:  簡潔なReactコンポーネントを書くためのヒント

>>:  Linux で指定されたフォルダの各サブフォルダ内のファイル数を表示する

推薦する

ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...

IE 8/Chrome/Firefox と互換性のあるコメント返信ポップアップマスク効果実装アイデア

平日はニュースに注目して、テンセントをよく閲覧しています。しかし、コメントへの返信はほとんど見られま...

Nginx で Angular プロジェクトを展開する際の落とし穴

コンパイル後にAngularプロジェクトをNginxにデプロイする方法をオンラインで検索すると、ほと...

Vue 関数のアンチシェイクとスロットリングの正しい使用方法

序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

WeChatアプレットがシンプルな計算機機能を実装

WeChatアプレット:シンプルな計算機、参考までに、具体的な内容は次のとおりです。ミニプログラムに...

JavaScriptページングコンポーネントの使い方の詳細な説明

ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...

MySQL 8.0.12 解凍バージョンのインストールチュートリアル

この記事では、MySQL 8.0.12解凍版のインストールチュートリアルを参考までに紹介します。具体...

固定テーブル幅テーブルレイアウト: 固定

テーブルを画面全体(残りの空白領域)に表示するために、幅属性は 100% と定義されることが多く、セ...

MySQLバックアップとリカバリの実践に関する詳細な説明

1. mysqlbackup の紹介mysqlbackup は、MySQL Enterprise B...

CentOS7 ファイアウォールとオープンポートの簡単な使い方の簡単な紹介

概要(公式にはより詳しい説明があります) Firewalld は、ネットワーク接続またはインターフェ...

MYSQL接続ポートが占有され、ファイルパスエラーが発生する問題を解決します

今朝、私は Wampserver を使用してローカルの win7 マシン上に PHP 環境を構築し、...

Ubuntu で G++ を使用して CPP ファイルをコンパイルする

g++ を使用して初めて cpp ファイルをコンパイルしたとき、未定義の参照エラーが報告されました。...

vsftp を使用して Linux で FTP サーバーを構築する (パラメータの説明付き)

導入この章では、主に Linux で FTP サーバーを構築するプロセスを紹介します。習得すべき重要...