MySQL 内部結合の使用例 (必読)

MySQL 内部結合の使用例 (必読)

文法規則

列名を選択
テーブル名1から
INNER JOIN テーブル名2 
ON テーブル名1.列名=テーブル名2.列名

まず、1. ユーザー、2. ユーザー カテゴリの 2 つのテーブルを作成します。

ユーザーテーブル

テーブル `user` を作成します (
 `id` int(32) NOT NULL AUTO_INCREMENT,
 `name` varchar(16) NOT NULL,
 `kindid` int(32) NOT NULL,
 主キー (`id`)
)ENGINE=MyISAM デフォルト文字セット=utf8;

ユーザーカテゴリーテーブル

テーブル `userkind` を作成します (
 `id` int(32) NOT NULL AUTO_INCREMENT,
 `kindname` varchar(16) NOT NULL,
 主キー (`id`)
)ENGINE=MyISAM デフォルト文字セット=utf8;

ユーザーテーブルにデータを挿入する

INSERT INTO `user` VALUES (1,'Xiao Ming',1),(2,'Xiao Hong',1),(3,'Han Han',2); userkindテーブルにデータを挿入します

`userkind` に VALUES (1,'一般会員'),(2,'VIP会員') を挿入します。

図に示すように:

以下はコンソール クエリの例です。

パスワードを入力してください: ****
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは2です
サーバーバージョン: 5.5.40 MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2014, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

mysql> 結合を使用します。
データベースが変更されました
mysql> `user` から * を選択します。
+----+------+--------+
| ID | 名前 | 種類 ID |
+----+------+--------+
| 1 | シャオミン | 1 |
| 2 | シャオホン | 1 |
| 3 | ハンハン | 2 |
+----+------+--------+
セット内の 3 行 (0.00 秒)

mysql> `userkind` から * を選択します。
+----+----------+
| ID | 種類名 |
+----+----------+
| 1 | 一般会員|
| 2 | VIP メンバーシップ |
+----+----------+
セット内の 2 行 (0.00 秒)

mysql> `user` から * を選択し、user.kindid=userkind.id で `userkind` を内部結合します。
+----+------+--------+----+-----------+
| id | 名前 | kindid | id | kindname |
+----+------+--------+----+-----------+
| 1 | シャオミン | 1 | 1 | 一般会員 |
| 2 | シャオホン | 1 | 1 | 一般会員 |
| 3 | ハンハン | 2 | 2 | VIP会員 |
+----+------+--------+----+-----------+
セット内の3行(0.02秒)

mysql> `id` を `user ID`、`name` を `user name`、`kindname` を `user category` として選択します。
`user` は `userkind` を内部結合します。ここで、user.kindid=userkind.id です。
エラー 1052 (23000): フィールド リストの列 'id' があいまいです
mysql> `user`.`id` を `user ID`、`name` を `user name`、`kindname` を `user category` として選択します。
  -> `user` は `userkind` を内部結合します。ここで、`user`.`kindid`=`userkind`.`id`;
+--------+--------+----------+
| ユーザー ID | ユーザー名 | ユーザー カテゴリ |
+--------+--------+----------+
| 1 | シャオミン | 一般会員 |
| 2 | シャオホン | 一般会員 |
| 3 | ハンハン | VIP会員 |
+--------+--------+----------+
セット内の 3 行 (0.00 秒)

mysql> `user` から `userID` として `username` として `name` として `userkind` として `kindname` を選択し、`userkind` を `user`.`kindid`=`userkind`.`id` で内部結合します。
+--------+--------+----------+
| ユーザー ID | ユーザー名 | ユーザー カテゴリ |
+--------+--------+----------+
| 1 | シャオミン | 一般会員 |
| 2 | シャオホン | 一般会員 |
| 3 | ハンハン | VIP会員 |
+--------+--------+----------+
セット内の 3 行 (0.00 秒)

マイSQL>

ここでのonは基本的に(私が思うに)どこと同じであることに注意してください。

両方のテーブルに列が存在するが区別できない場合は、`テーブル名`.`フィールド名` を使用して区別する必要があります。

別名です。上の例を見てください。

上記のMysql inner join onの使用例(必読)は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL 結合テーブルクエリの基本操作 左結合のよくある落とし穴
  • MySQL におけるさまざまな一般的な結合テーブルクエリの例の概要
  • MySQL 8.0.18 安定版がリリースされました! 予想通りハッシュ結合が実装されました
  • Mysql での結合操作
  • MySQLの自己接続と結合の詳細な理解
  • MySQL での Join の使用に関する詳細な説明
  • 7つのMySQL JOINタイプのまとめ

<<:  Ansible を使用した Nginx のバッチ デプロイのサンプル コード

>>:  Dockerコンテナの紹介

推薦する

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

MySQL パーティション テーブルの基本入門チュートリアル

序文最近のプロジェクトでは、大量のデータを保存する必要があり、このデータには有効期限があります。クエ...

Ubuntu 16.04 で PostgreSQL の起動を設定する方法

PostgreSQL はコンパイルされインストールされるため、起動時に起動するように設定する必要があ...

Vue の詳細な入門ノート

目次1. はじめに2. 初期ビュー(I) Vueの概念を理解する(II) MVVMアーキテクチャ(I...

HTML の基本的な使用法には、リンク、スタイルシート、span、div などが含まれます。

1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...

Vue命令の動作原理と実装方法

Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...

mysql 5.7.18 winx64 無料インストール設定方法

1. ダウンロード2. 減圧3. パス環境変数を追加し、mysqlが配置されているbinディレクトリ...

MySQL ベストプラクティス: パーティションテーブルの基本タイプ

MySQL パーティションテーブルの概要MySQL の人気が高まるにつれて、MySQL に保存される...

Linuxでファイルの作成時間を表示する方法

1. はじめにLinux でファイルの作成時刻が見つかるかどうかは、ファイル システムの種類によって...

WeChatミニプログラムでEchartとサブパッケージを使用するための完全な手順

序文休日は終わっていますが、それは別の形で(お腹に触れることで)私たちに現れます。ミニプログラムでデ...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

Nginx セッション共有問題の解決策の分析

この記事は主に、Nginx セッション共有の問題に対する解決策を紹介します。記事内のサンプル コード...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...