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
参考までに、win7システム上のVMware仮想マシンにlinux7.2インターネットアクセス構成を...
目次導入ログ分類パラメータファイルエラーログファイル完全なログファイルスロークエリログバイナリログフ...
dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...
1. インストールターミネーターの最大の特徴は、1つのウィンドウで複数のターミナルを開くことができる...
Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...
pingスキャンをオフにする(役に立たないが)まずルートに切り替えるエコー 1 > /proc...
すべてがファイルです! UNIX はすでにそれを言っています。エリック・レイモンドはこう言いました。...
背景まず、背景を説明します。ある制約により、当社の現在のバックアップ戦略では、1 日おきにフル バッ...
1. Dockerコンテナ間の相互接続Docker は現在、軽量の仮想化ソリューションとなっています...
MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...
フロントエンドエンジニアとして、IE は私たちにとって馴染み深いものであるはずです。設計案を実装する...
プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...
この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...
目次概要ブロブBlob の動作BLOB ダウンロード ファイルブロブ画像のローカル表示BLOB ファ...
MySQLでテーブルやデータを削除する場合、 [エラー] 1451 - 親行を削除または更新できませ...