R02(H32) PM1 問2
りんさん
(No.1)
図4のSQLは
SELECT 公演名, ・・・, 料金, (CASE WHEN A2.空席数 IS NULL THEN '×' ELSE '○' END) AS 空席情報
FROM 会場, (・・・) AS A1 LEFT OUTER JOIN (SELECT * FROM 席種在庫 WHERE 空席数 > 0 ) AS A2
・・・
となっていますが、これは
SELECT 公演名, ・・・, 料金, (CASE WHEN A2.空席数 <=0 THEN '×' ELSE '○' END) AS 空席情報
FROM 会場, (・・・) AS A1 INNER JOIN 席種在庫 AS A2
・・・
と同じですか?
もし同じなら、なぜ試験問題では回りくどい前者を用いているのですか?
SELECT 公演名, ・・・, 料金, (CASE WHEN A2.空席数 IS NULL THEN '×' ELSE '○' END) AS 空席情報
FROM 会場, (・・・) AS A1 LEFT OUTER JOIN (SELECT * FROM 席種在庫 WHERE 空席数 > 0 ) AS A2
・・・
となっていますが、これは
SELECT 公演名, ・・・, 料金, (CASE WHEN A2.空席数 <=0 THEN '×' ELSE '○' END) AS 空席情報
FROM 会場, (・・・) AS A1 INNER JOIN 席種在庫 AS A2
・・・
と同じですか?
もし同じなら、なぜ試験問題では回りくどい前者を用いているのですか?
2021.03.18 13:34
DCLさん
(No.2)
この問題のSQLは平成20年度の問3をかなり流用しています。その都合上から多少なり辻褄が合わないことが発生していると思われます。
2021.03.18 16:09
りんさん
(No.3)
ご回答ありがとうございます。
H20問3の問題も確認してみます。
H20問3の問題も確認してみます。
2021.03.18 17:12
9640さん
(No.4)
A2テーブルは空席座席がある行しか抽出していません。
これをA1とINNER JOINすると、図3の空席情報が×の行が表示されない結果になります。
つまりLEFT OUTER JOINとINNER JOINでは全然違います。
これをA1とINNER JOINすると、図3の空席情報が×の行が表示されない結果になります。
つまりLEFT OUTER JOINとINNER JOINでは全然違います。
2021.04.04 01:58
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。