【お題】動物のキャッチフレーズ

以下参考書からです。
◎たくさんのテーブルのデータを使って抽出する
------------------------------------------
例題: テーブル[tb]][tb1][tb3]には、共通の値を持ったカラム[bang]があります。
ではカラム[bang]をキーにして、売上情報テーブル[tb]に
社員情報テーブル[tb1]と社員出身県情報テーブル[tb3]を結合し、
[社員番号](テーブル[tb]の[bang])、[売上](テーブル)[tb]の[uria])、
[氏名](テーブル[tb1]の[nama])、「出身県」(テーブル[tb3]の[ken]
の4つを表示捨てみましょう

以上わかりにくいと思いますので
下記が分かりやすいと思います。

テーブル[tb]][td1][td3]には、共通の値を持ったカラム[bang]があります。
ではカラム[bang]をキーにして、
{「tb」のカラムと[bang][uria]」}と{「tb1」のカラムと[nama] }
と{「tb3」のカラムと[ken] }を内部結合する。

▶実行前の売上情報テーブル「tb」
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+------+------+------+

▶ 実行前の社員情報テーブル[tb1]
+------+------+------+
| bang | nama | tosi |
+------+------+------+
| A101 | 佐藤 | 40 |
| A102 | 高橋 | 28 |
| A103 | 中川 | 20 |
| A104 | 渡辺 | 23 |
| A105 | 西沢 | 35 |
+------+------+------+

▶実行前の社員出身県情報テーブル「tb3」
+------+----------+
| bang | ken |
+------+----------+
| A101 | 東京都 |
| A102 | 埼玉県 |
| A103 | 神奈川県 |
| A104 | 北海道 |
| A105 | 静岡県 |
+------+----------+

実行結果
mysql> SELECT tb.bang,tb.uria,tb1.nama,tb3.ken FROM tb
-> JOIN tb1 USING(bang)
-> JOIN tb3 USING(bang)
-> ;
+------+------+------+----------+
| bang | uria | nama | ken |
+------+------+------+----------+
| A103 | 101 | 中川 | 神奈川県 |
| A102 | 54 | 高橋 | 埼玉県 |
| A104 | 181 | 渡辺 | 北海道 |
| A101 | 184 | 佐藤 | 東京都 |
| A103 | 17 | 中川 | 神奈川県 |
| A101 | 300 | 佐藤 | 東京都 |
| A102 | 205 | 高橋 | 埼玉県 |
| A104 | 93 | 渡辺 | 北海道 |
| A103 | 12 | 中川 | 神奈川県 |
+------+------+------+----------+
----------------------------------------
以上ですが
ここで言う作業の流れは3つ分かれるみたいですが
下記①の作業の説明がうまく表現できません
よろしくお願いいたします。

① SELECT tb.bang,tb.uria,tb1.nama,tb3.ken FROM tb テーブル名1の?
② JOIN tb1 USING(bang) → テーブル名2 結合条件
③ JOIN tb3 USING(bang) → テーブル名3 結合条件

質問者からの補足コメント

  • うーん・・・

    ありがとございました。
    あとで気付きました!
    たいした質問ではないので
    無視してください。
    今後とも宜しくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/08/20 18:08

A 回答 (1件)

何を質問したいのかよく分かりません。


説明が上手く表現出来ないって何ですか?
SELECT tb.bang,tb.uria,tb1.nama,tb3.ken の部分のクエリの意味がわからないということですか?

例示のクエリで説明するなら、まず下記を実行してみてください。

SELECT * FROM tb JOIN tb1 USING(bang) JOIN tb3 USING(bang);

この実行結果の中で、どのカラムを表示するかを指定しているのが、『tb.bang,tb.uria,tb1.nama,tb3.ken』の箇所ですが、こういう事が分からないという主旨でしょうか?
この回答への補足あり
    • good
    • 1
この回答へのお礼

ありがとうございます。
すみません
手が空き次第ちゃんとご回答します。

解説:複数のテーブルを内部結合する場合
・ 主なコマンド
ⅰ SELECT:選択する Ⅱ FROM:何何から Ⅲ JOIN:加入 Ⅳ USING(ユージング):使用する
実行コマンド解説
① SELECT tb.bang,tb.uria,tb1.nama,tb3.ken FROM tb➡ ①SELECTは検索のSQLの最初に書きます、次はカンマ区切りで検索したい物(tb.bang,tb.uria,tb1.nama)を書きます、FROM の後に検索対象のテーブル名を書きます、
② JOIN tb1 USING(bang)➡②③JOINの後には結合するテーブル名と結合条件を書きます。
③ JOIN tb3 USING(bang)


mysql> SELECT * FROM tb JOIN tb1 USING(bang) JOIN tb3 USING(bang);
+------+------+------+------+------+-----+
| bang | uria | tuki | nama | tosi | ken |
+------+------+------+------+------+-----+
| A103 | 101 | 4 | 中川 | 20 | 神奈川県 |
| A102 | 54 | 5 | 高橋 | 28 | 埼玉県 |
| A104 | 181 | 4 | 渡辺 | 23 | 北海道 |
| A101 | 184 | 4 | 佐藤 | 40 | 東京都 |
| A103 | 17 | 5 | 中川 | 20 | 神奈川県 |
| A101 | 300 | 5 | 佐藤 | 40 | 東京都 |
| A102 | 205 | 6 | 高橋 | 28 | 埼玉県 |
| A104 | 93 | 5 | 渡辺 | 23 | 北海道 |
| A103 | 12 | 6 | 中川 | 20 | 神奈川県 |
+------+------+------+------+------+-----+

お礼日時:2021/08/15 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す