MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。 テーブル接続(JOIN)は、内部接続(JOIN/INNER JOIN)と外部接続(LEFT JOIN/RIGHT JOIN)に分けられます。 まず、このデモの 2 つのテーブルを見てみましょう。 mysql> SELECT * FROM 学生; +------+----------+------+------+ | s_id | s_name | 年齢 | c_id | +------+----------+------+------+ | 1 | シャオミン | 13 | 1 | | 2 | 暁紅 | 41 | 4 | | 3 | シャオシア | 22 | 3 | | 4 | 暁剛 | 32 | 1 | | 5 | シャオリ | 41 | 2 | | 6 | 王武 | 13 | 2 | | 7 | リシ | 22 | 3 | | 8 | 張さん | 11 | 9 | +------+----------+------+------+ セット内の行数は 8 です (0.00 秒) mysql> SELECT * FROM クラス; +------+---------+-------+ | c_id | c_name | カウント | +------+---------+-------+ | 1 | 数学 | 65 | | 2 | 中国語 | 70 | | 3 | 英語 | 50 | | 4 | 歴史 | 30 | | 5 | 生物学 | 40 | +------+---------+-------+ セット内の行数は 5 です (0.00 秒) まず、テーブルを接続するための前提条件は、2 つのテーブルに同じ比較可能な列があることです。 1. 内部結合 mysql> SELECT * FROM student INNER JOIN class ON student.c_id = class.c_id; +------+----------+------+------+-------+-------+-------+ | s_id | s_name | 年齢 | c_id | c_id | c_name | カウント | +------+----------+------+------+-------+-------+-------+ | 1 | シャオミン | 13 | 1 | 1 | 数学 | 65 | | 2 | xiaohong | 41 | 4 | 4 | 歴史 | 30 | | 3 | xiaoxia | 22 | 3 | 3 | 英語 | 50 | | 4 | 暁剛 | 32 | 1 | 1 | 数学 | 65 | | 5 | xiaoli | 41 | 2 | 2 | 中国語 | 70 | | 6 | wangwu | 13 | 2 | 2 | 中国語 | 70 | | 7 | lisi | 22 | 3 | 3 | 英語 | 50 | +------+----------+------+------+-------+-------+-------+ セット内の行数は 7 です (0.00 秒) 簡単に言うと、内部結合とは、2 つのテーブル内の条件を満たす行のすべてのデータを一緒に表示することです。つまり、条件が満たされない場合、テーブル A にはあってもテーブル B にはないデータ (またはその逆) は表示されません。 2. 外部結合 mysql> SELECT * FROM student LEFT JOIN class ON student.c_id = class.c_id; +------+----------+------+------+-------+-------+-------+ | s_id | s_name | 年齢 | c_id | c_id | c_name | カウント | +------+----------+------+------+-------+-------+-------+ | 1 | シャオミン | 13 | 1 | 1 | 数学 | 65 | | 2 | xiaohong | 41 | 4 | 4 | 歴史 | 30 | | 3 | xiaoxia | 22 | 3 | 3 | 英語 | 50 | | 4 | 暁剛 | 32 | 1 | 1 | 数学 | 65 | | 5 | xiaoli | 41 | 2 | 2 | 中国語 | 70 | | 6 | wangwu | 13 | 2 | 2 | 中国語 | 70 | | 7 | lisi | 22 | 3 | 3 | 英語 | 50 | | 8 | 張さん | 11 | 9 | NULL | NULL | NULL | +------+----------+------+------+-------+-------+-------+ セット内の行数は 8 です (0.00 秒) mysql> SELECT * FROM student RIGHT JOIN class ON student.c_id = class.c_id; +------+----------+------+------+-------+-------+-------+ | s_id | s_name | 年齢 | c_id | c_id | c_name | カウント | +------+----------+------+------+-------+-------+-------+ | 1 | シャオミン | 13 | 1 | 1 | 数学 | 65 | | 4 | 暁剛 | 32 | 1 | 1 | 数学 | 65 | | 5 | xiaoli | 41 | 2 | 2 | 中国語 | 70 | | 6 | wangwu | 13 | 2 | 2 | 中国語 | 70 | | 3 | xiaoxia | 22 | 3 | 3 | 英語 | 50 | | 7 | lisi | 22 | 3 | 3 | 英語 | 50 | | 2 | xiaohong | 41 | 4 | 4 | 歴史 | 30 | | NULL | NULL | NULL | NULL | 5 | 生物学 | 40 | +------+----------+------+------+-------+-------+-------+ セット内の行数は 8 です (0.00 秒) 上記は、外部結合の左結合と右結合の 2 つのケースを示しています。これら 2 つはほぼ同じですが、唯一の違いは、左結合のメイン テーブルが左側のテーブルであり、右結合のメイン テーブルが右側のテーブルであることです。外部結合と内部結合の違いは、メイン テーブルのすべての行が表示され、他のテーブルにないメイン テーブルのデータが NULL に置き換えられることです。 要約する これで、MySQL でテーブルを接続するいくつかの方法についての記事は終了です。MySQL テーブルを接続する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル
>>: チェックボックスの選択またはキャンセルを実装するJavaScript
CSSフィルターを使用してマウスオーバー効果を記述する <div class="fi...
1. インストールパッケージをダウンロードするダウンロードアドレス: https://sourcef...
フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...
最近の Web サイトでは Https をサポートすることがほぼ標準機能となっており、Nginx は...
序文JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ています...
出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...
序文ご存知のとおり、Linux は ext4、ext3、ext2、sysfs、securityfs、...
比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...
目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...
この記事では、例を使用して MySQL 正規表現 (regexp および rlike) の検索機能を...
EXPLAIN は、MySQL がインデックスを使用して選択ステートメントを処理し、テーブルを結合す...
MySQL 自体はファイルシステムに基づいて開発されましたが、ロックの存在が異なります。データベース...
すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...
最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...
1. フロート+オーバーフロー:非表示このメソッドは主にオーバーフローを通じて BFC をトリガーし...