HOME»基本情報技術者試験掲示板»平成24年春期午後問3 設問4について
投稿する
平成24年春期午後問3 設問4について [3328]
情報太郎さん(No.1)
https://www.fe-siken.com/kakomon/24_haru/pm03.html
お世話になります。設問4の解答はウで解説を読んでも納得するのですが、エがなぜ排除できるかがわかりません。宜しくお願いします。
お世話になります。設問4の解答はウで解説を読んでも納得するのですが、エがなぜ排除できるかがわかりません。宜しくお願いします。
2021.05.23 10:29
GinSanaさん(No.2)
★FE シルバーマイスター
エだと、明細表で注文されたかことがあるかどうかが参照条件ですよね。
ほんとは、where句内でテーブルを結合しているから、INNER JOIN句で結合する(今回なら料理コードか)ようにするのがふつうの書き方なんですが、結合条件にIN句が来る時点でふつうはおかしいです。
ほんとは、where句内でテーブルを結合しているから、INNER JOIN句で結合する(今回なら料理コードか)ようにするのがふつうの書き方なんですが、結合条件にIN句が来る時点でふつうはおかしいです。
2021.05.23 12:17
情報太郎さん(No.3)
回答ありがとうございます。INについて少し調べてみましたが、やはり結合条件でINがくるのはおかしいですね。
2021.05.23 14:09
かなさん(No.4)
★FE ブロンズマイスター
この投稿は投稿者により削除されました。(2021.05.24 13:56)
2021.05.24 13:56
かなさん(No.5)
★FE ブロンズマイスター
「select * from 料理表, 明細表」を実行すると、
料理コード|料理名 |単価|精算コード |料理コード|皿数
0001 ..|ごはん . |100 .|03100186 ゙ ゙|0001 ..|1
0002 ..|肉じゃが |280 .|03100186 ゙ ゙|0002 ..|1
はもちろん出ますが、それ以外にも
料理コード|料理名 |単価|精算コード |料理コード|皿数
0001 ..|ごはん . |100 .|03100186 ゙ ゙|0002 ..|1
0002 ..|肉じゃが |280 .|03100186 ゙ ゙|0001 ..|1
も出てしまいます(直積結合)
そこから後者のように料理表.料理コードと明細表.料理表が異なるものを除外するための文が
なのです。
これがないエでは、後者の意味不明な行も計算に含めてしまうため、不適切と判断できます。
料理コード|料理名 |単価|精算コード |料理コード|皿数
0001 ..|ごはん . |100 .|03100186 ゙ ゙|0001 ..|1
0002 ..|肉じゃが |280 .|03100186 ゙ ゙|0002 ..|1
はもちろん出ますが、それ以外にも
料理コード|料理名 |単価|精算コード |料理コード|皿数
0001 ..|ごはん . |100 .|03100186 ゙ ゙|0002 ..|1
0002 ..|肉じゃが |280 .|03100186 ゙ ゙|0001 ..|1
も出てしまいます(直積結合)
そこから後者のように料理表.料理コードと明細表.料理表が異なるものを除外するための文が
>where 料理表.料理コード = 明細表.料理表
なのです。
これがないエでは、後者の意味不明な行も計算に含めてしまうため、不適切と判断できます。
2021.05.24 14:03
情報太郎さん(No.6)
ありがとうございます。
2021.05.31 21:57