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 で指定されたフォルダの各サブフォルダ内のファイル数を表示する

推薦する

MySQL で中国語の文字をピンインでソートする簡単な例

名前を格納するフィールドが GBK 文字セットを使用している場合、GBK 内部コード自体がエンコード...

Dockerコンテナのネットワーク管理とネットワーク分離の実装

1. Dockerネットワーク管理1. Dockerコンテナ方式1) Dockerが外部ネットワーク...

Visual Studio Code + Reactをベースに開発環境を構築するプロセス

開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

ミニプログラムの基本的な使用方法の知識ポイント(非常に包括的で、お勧めです!)

目次アプリを登録するときに何をすればよいですか?ページを登録するときに通常何をする必要がありますか?...

Vue.jsのレンダリング関数の使い方の詳しい説明

Vue では、ほとんどの場合、テンプレートを使用して HTML を作成することを推奨しています。ただ...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図

目次1. 環境の紹介2. MySQL-8.0.19をインストールする3. MySQLを設定する1. ...

CSSのline-heightとheightの詳細な説明

最近、CSS インターフェースに取り組んでいるときに、line-height と height とい...

HTML TextArea でのフォーマット保存の問題の解決方法

textarea の形式は保存時にデータベースに保存できますが、表示時には /n と相互に変換できな...

MySQLクエリステートメントの簡単な操作例

この記事では、例を使用して、MySQL クエリ ステートメントの簡単な操作を説明します。ご参考までに...

MySQLのスイッチングデータ保存ディレクトリの実装方法

MySQLのスイッチングデータ保存ディレクトリの実装方法今日、仕事中に、mysql が保存されている...

CentOS 6.4 MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル

Centos6.4 で mysql5.7.18 をインストールするための具体的な手順が全員に共有され...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

VMware esxi6.5 のインストールと使用の詳細な手順

目次導入建築ESXIの利点vSphere とは何ですか? 2. 仮想マシンの利点3. 仮想マシンを使...