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
前提条件: Web開発者プラグインがインストールされている操作手順: [ツール] -> [We...
目次紹介とデモAPI: コンテナ財産ライフサイクルコールバックイベントAPI: ドラッグ可能実際の戦...
多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...
目次前面に書かれたルータ.jsonルート生成メニュー生成効果要約する前面に書かれたルートを繰り返し記...
分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...
初め:コードをコピーコードは次のとおりです。 <input type="text&q...
さまざまな理由で、誰もが MySQL を再インストールする必要があると思います。 MySQL と Q...
mysql サービスは開始されていますが、接続できません。この問題を解決するにはどうすればよいでしょ...
1. MySQLデータベースnacos_configを作成する2. データベース nacos_con...
1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...
データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...
今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...
ステップ1: MySQLでbinlogが有効になっていることを確認する '%log_bin%...
この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...
1. 物件リストコードをコピーコードは次のとおりです。色: #999999 テキスト色フォントファミ...