「AP過去問 令和6年度春期 午前 問26」の版間の差分
(→回答・解説) |
(→回答・解説) |
||
121行目: | 121行目: | ||
SELECT * FROM 部品 LEFT OUTER JOIN 在庫 | SELECT * FROM 部品 LEFT OUTER JOIN 在庫 | ||
:ON 部品.部品ID = 在庫.部品ID | :ON 部品.部品ID = 在庫.部品ID | ||
のSQL実行結果は以下のようになります。外部結合しますが、結合先がない部品P03も外部結合によってNULL値として取り込まれます。 | のSQL実行結果は以下のようになります。外部結合しますが、結合先がない部品P03も外部結合によってNULL値として取り込まれます。 |
2025年1月30日 (木) 23:43時点における版
AP過去問 令和6年度春期 午前 問25前の問題へ
AP過去問 令和6年度春期 午前 問27次の問題へ
問26(問題文)
"部品"表及び"在庫"表に対し、SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。
部品
部品 | 発注点 |
P01 | 100 |
P02 | 150 |
P03 | 100 |
在庫
部品ID | 倉庫ID | 在庫数 |
P01 | W01 | 90 |
P01 | W02 | 90 |
P02 | W01 | 150 |
[結果]
部品ID | 発注要否 |
P01 | 不要 |
P02 | 不要 |
P03 | 必要 |
〔SQL文〕
SELECT 部品.部品ID AS 部品ID、
CASE WHEN 部品.発注点 > a
THEN N'必要' ELSE N'不要' END AS 発注要否
FROM 部品 LEFT OUTER JOIN 在庫
ON 部品.部品ID = 在庫.部品ID
GROUP BY 部品.部品ID、部品.発注点
ア COALESCE(MIN(在庫.在庫数)、0)
イ COALESCE(MIN(在庫.在庫数)、NULL)
ウ COALESCE(SUM(在庫.在庫数)、0)
エ COALESCE(SUM(在庫.在庫数)、NULL)
回答・解説
SELECT * FROM 部品 LEFT OUTER JOIN 在庫
- ON 部品.部品ID = 在庫.部品ID
のSQL実行結果は以下のようになります。外部結合しますが、結合先がない部品P03も外部結合によってNULL値として取り込まれます。
部品ID | 発注点 | 部品ID(在庫) | 倉庫ID | 在庫数 |
---|---|---|---|---|
P01 | 100 | P01 | W01 | 90 |
P01 | 100 | P01 | W02 | 90 |
P02 | 150 | P02 | W01 | 150 |
P03 | 100 | NULL | NULL | NULL |
AP過去問 令和6年度春期 午前 問25前の問題へ
AP過去問 令和6年度春期 午前 問27次の問題へ