SQLを勉強しています。
以下のテーブルを結合するSQL文を見て結果を予想しろ。という内容の問題がありました。
テーブルA
A1 | A2 |
---|---|
1 | 3 |
2 | 4 |
テーブルB
B1 | B2 |
---|---|
1 | 2 |
3 | null |
SQL:
SELECT A.A1,C.A2,B1,B2 from A JOIN B ON A.A1 = B.B1 JOIN A AS C ON B.B1 = C.A1 です。
教本にはJOINが複数あっても一つずつ結合していけばよいと書いてありましたが、
わたしは一つ目のJOINで
|A1|A2|B1|B2
|:--|:--:|--:|
|1|3|1|2
こういう形を想像していました。
その次のJOIN A AS C ON B.B1 = C.A1 がイマイチ理解できません。
Cの結合の結果
|A1|A2|B1|B2|A1|A2|
|:--|:--:|
|1|3|1|2|1|3|
となっているということでしょうか。教本を見てイメージしているとまるで新しくテーブルを作っているような感覚になり、混乱します。
結局答えは
|A1|A2|B1|B2
|:--|:--:|--:|
|1|3|1|2
だったのですが
問題集に解説がついていなくて、理解できないままでいます。
家計簿テーブルなど馴染みあるものだと理解しやすいのですが、このような形になると途端に混乱します。
どなたか解説していただけないでしょうか。
実行してみたキャプチャー画像を載せておきます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/29 11:57