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の基本設定: openssh-serverのインストールと使用

Ubuntu 17.10 での openssh-server のインストールと使用を記録します。イン...

時刻を保存するために適切な MySQL の datetime 型を選択する方法

データベースを構築してプログラムを書くとき、日付と時刻の使用は避けられません。データベースには、ti...

ウェブページ上の小さなスペースに大きな画像を配置する方法

出典: www.bamagazine.comウェブページのバナー、ニュースの見出しの周りのスペース、...

M1 ProチップでVueプロジェクトを開始する方法

目次導入Homebrewをインストールするnvmをインストールするノードをインストールするインストー...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

VC6.0をWIN10にインストールすると使用できない問題の解決方法

VC6.0は確かに古すぎるVC6.0は昔の開発ツールです。現在のwin10では対応していません。しか...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

スネークゲームのウェブ版を実装するためのJavaScript

この記事では、ウェブページのスネークゲームを実装するためのJavaScriptの具体的なコードを参考...

MySQL の 4 つのトランザクション分離レベルを例を使って分析する

序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...

Webフロントエンドツール、Sublime Text 2の紹介

Sublime Text 2 は、軽量でシンプル、効率的なクロスプラットフォーム エディターです。ブ...

ロンボク実装 JSR-269

序文導入Lombok は、Google Guava と同様に便利なツールであり、強くお勧めします。す...

MySQLリモート接続権限の詳細な説明

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

XHTML でのハイパーリンク タグの使用に関するチュートリアル

ハイパーリンク。「リンク」とも呼ばれます。ハイパーリンクは、私たちが閲覧する Web ページのいたる...