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
Linux システムには、ファイル共有を解決するために使用できるリンク ファイルと呼ばれる種類のファ...
目次依存関係をインストールする構成使用1.アイコン検索ページに入る2. 使用したいアイコンの英語名を...
ネットで変更方法をいろいろ調べたのですが、うまくいきませんでした。後で大物から見て削除しました。フォ...
...こんな感じで、今日はポップアップウィンドウを作ろうと思ったのですが、バックエンド PHP によ...
1. これは理解するのが少し複雑なので、原理を注意深く読んで自分で入力していただければ幸いです。 &...
この記事では、ドラッグプログレスバーを実現するためのVueの具体的なコードを例として紹介します。具体...
ユーザーが目的のものを探すために前進するか後退するかを選択できるようにします。たとえば、Taobao...
目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...
背景 - オンラインアラートオンライン サーバーがアラームを発し、ディスク使用率 disk.util...
<br />Web デザインと制作テスト パート I 多肢選択問題 1. 単一選択問題 ...
目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...
docker によってプルされたコマンドは、デフォルトでは /var/lib/docker/ フォル...
この記事の警告事項は、ブラウザの互換性とはまったく関係ありません。主に、プロジェクトで遭遇したいくつ...
目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...
最近、あるプロジェクトのクライアントが、上部に 2 つのタブ メニューを配置することを要求しました。...