HOME»基本情報技術者試験掲示板»平成24年春期午後問3
投稿する
平成24年春期午後問3 [3733]
みかんさん(No.1)
https://www.fe-siken.com/kakomon/24_haru/pm03.html
設問2で結合のことで質問があります。
WHERE句で、1行ずつ順番に処理を行っていると思います。例えば「エ」でどの文がどのような処理をしてどのような表ができるのかを知りたいです。
面倒かと思いますがよろしくお願いします。
設問2で結合のことで質問があります。
WHERE句で、1行ずつ順番に処理を行っていると思います。例えば「エ」でどの文がどのような処理をしてどのような表ができるのかを知りたいです。
面倒かと思いますがよろしくお願いします。
2021.10.28 20:32
関数従属さん(No.2)
★FE ゴールドマイスター
FROM句で料理表、精算表、明細表が出てきますが、WHERE句がない状態では直積となります。
精算表
精算コード 社員番号 日付 精算額
03100186 050221 20120310 380
99999999 050221 20120310 999
明細表
精算コード 料理コード 皿数
03100186 0001 1
03100186 0002 1
料理表
料理コード 料理名 単価
0001 ごはん 100
0002 肉じゃが 280
の場合だと
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0001 1 0002 肉じゃが 280
03100186 050221 20120310 380 03100186 0002 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
99999999 050221 20120310 999 03100186 0001 1 0001 ごはん 100
99999999 050221 20120310 999 03100186 0001 1 0002 肉じゃが 280
99999999 050221 20120310 999 03100186 0002 1 0001 ごはん 100
99999999 050221 20120310 999 03100186 0002 1 0002 肉じゃが 280
となります。
精算表.精算コード = 明細表.精算コードで
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0001 1 0002 肉じゃが 280
03100186 050221 20120310 380 03100186 0002 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となり
明細表.料理コード = 料理表.料理コードで
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となり
精算表
精算コード 社員番号 日付 精算額
03100186 050221 20120310 380
99999999 050221 20120310 999
明細表
精算コード 料理コード 皿数
03100186 0001 1
03100186 0002 1
料理表
料理コード 料理名 単価
0001 ごはん 100
0002 肉じゃが 280
の場合だと
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0001 1 0002 肉じゃが 280
03100186 050221 20120310 380 03100186 0002 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
99999999 050221 20120310 999 03100186 0001 1 0001 ごはん 100
99999999 050221 20120310 999 03100186 0001 1 0002 肉じゃが 280
99999999 050221 20120310 999 03100186 0002 1 0001 ごはん 100
99999999 050221 20120310 999 03100186 0002 1 0002 肉じゃが 280
となります。
精算表.精算コード = 明細表.精算コードで
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0001 1 0002 肉じゃが 280
03100186 050221 20120310 380 03100186 0002 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となり
明細表.料理コード = 料理表.料理コードで
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0001 1 0001 ごはん 100
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となり
2021.10.28 23:08
関数従属さん(No.3)
★FE ゴールドマイスター
料理表.料理名 = '肉じゃが'で
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となります。
その後、精算表.社員番号でGROUP化され、
SELECT項目の精算表.社員番号とSUM(明細表.皿数) AS 購入皿数により
精算表.社員番号 購入皿数
050221 1
となります。
精算表 明細表 料理表
精算コード 社員番号 日付 精算額 精算コード 料理コード 皿数 料理コード 料理名 単価
03100186 050221 20120310 380 03100186 0002 1 0002 肉じゃが 280
となります。
その後、精算表.社員番号でGROUP化され、
SELECT項目の精算表.社員番号とSUM(明細表.皿数) AS 購入皿数により
精算表.社員番号 購入皿数
050221 1
となります。
2021.10.28 23:08
みかんさん(No.4)
一つ一つ丁寧にありがとうございました。
この文の動きは理解することができました!他の文もどうなっていくか考えていきます。
本当にありがとうございました。
この文の動きは理解することができました!他の文もどうなっていくか考えていきます。
本当にありがとうございました。
2021.10.29 12:45