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コンテナの紹介

推薦する

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

MySQL ファジークエリの使用法 (通常、ワイルドカード、組み込み関数)

目次1. MySQL ワイルドカード ファジー クエリ (%,_) 1-1. ワイルドカードの分類1...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

MySQL よく使われる関数の詳細な概要

目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...

DeepinでPyenvをインストールする手順

序文これまでは、/bin/ ディレクトリのソフトリンクを変更して Python のバージョンを切り替...

別の種類の「キャンセル」ボタン

「キャンセル」ボタンは必要な操作プロセスの一部ではなく、デザイン上の主要な要素として表示されません...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

JavaScript で最も高速なループはどれですか?

どの for ループまたは反復子がニーズに適しているかを知ることで、アプリケーションのパフォーマンス...

SQL Server の完全バックアップに関する珍しいエラーと解決策

1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...

Ubuntuで顔認識ログインを実装するための完全な手順

1. Howdyをインストール: howdyプロジェクトアドレス sudo add-apt-repo...

HTTPSの最も優れた説明

皆さんおはようございます。しばらく記事を更新していませんでした。実は、私は流行中に1か月以上家にいて...

Docker は次の「Linux」になれるか?

Linux オペレーティング システムは過去 20 年間にわたってデータ センターに革命をもたらし...

.html、.htm、.shtml、.shtm の違いと関連性について簡単に説明します。

ご存知のとおり、私たちが毎日閲覧する Web ページ、Web サイト、または Web ページには独自...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...