“社員”表から、部署コードごとの主任の人数と一般社員の人数を求めるSQL文とするために、aに入る字句はどれか。ここで、実線の下線は主キーを表す。 社員(社員コード, 部署コード, 社員名, 役職) [SQL文] SELECT 部署コード, COUNT(CASE WHEN 役職 = '主任' [a] END) AS 主任の人数, COUNT(CASE WHEN 役職 = '一般社員' [a] END) AS 一般社員の人数 FROM 社員 GROUP BY 部署コード [結果の例] 部署コード 主任の人数 一般社員の人数 AA01 2 5 AA02 1 3 BB01 0 1
COUNTがNULLを無視する性質で条件付き集計を行う
| 部署コード | 主任の人数 | 一般社員の人数 |
|---|---|---|
| AA01 | 2 | 5 |
| AA02 | 1 | 3 |
| BB01 | 0 | 1 |
選択肢
- アTHEN 1 ELSE -1
- イTHEN 1 ELSE 0
- ウTHEN 1 ELSE NULL
- エTHEN NULL ELSE 1
正解と解説
正解:ウ THEN 1 ELSE NULL
COUNT関数は引数がNULLの行を数えないという性質がある。これを利用し、条件に合う行だけ1を返し、合わない行はNULLを返すようにすれば、条件付きの件数を数えられる。ELSE 0にすると全行が計数対象になってしまう点に注意する。
選択肢ごとの解説
- ア−1もNULLではないため計数され、全社員数が返ってしまう。
- イ0もNULLではないので数えられ、役職に関係なく全行が計数される。
- ウ正しい。COUNTはNULLを数えないので、条件に合う行だけが計数される。
- エ条件に合う行をNULLにしてしまい、意図と逆の件数になる。
同じ分野の他の問題
- "商品"表と"商品別売上実績"表に対して、SQL文を実行して得られる売上平均金額はどれか。 〔SQL文〕 SELECT …2024年度 秋期 午前II 問7
- "成績"表から、クラスごとに得点の高い順に個人を順位付けした結果を求めるSQL文の、aに入れる字句はどれか。 〔SQL文…2023年度 秋期 午前II 問9
- "商品"表と"商品別売上実績"表に対して、SQL文を実行して得られる売上平均金額はどれか。 〔SQL文〕 SELECT …2022年度 秋期 午前II 問7
- ある電子商取引サイトでは、会員の属性を柔軟に変更できるように、"会員項目"表で管理することにした。"会員項目"表に対し、…2021年度 秋期 午前II 問10
- 表Rと表Sに対し、SQL文を実行して結果を得るとき、aに入れる字句はどれか。ここで、結果のNULLは値が存在しないことを…2020年度 10月試験 午前II 問7
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。