“社員”表から、部署コードごとの主任の人数と一般社員の人数を求める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を無視する性質で条件付き集計を行う

データベーススペシャリスト試験2017年度 春期 午前II8/SQL / 関数

部署コード主任の人数一般社員の人数
AA0125
AA0213
BB0101

選択肢

正解と解説

正解: THEN 1 ELSE NULL

COUNT関数は引数がNULLの行を数えないという性質がある。これを利用し、条件に合う行だけ1を返し、合わない行はNULLを返すようにすれば、条件付きの件数を数えられる。ELSE 0にすると全行が計数対象になってしまう点に注意する。

選択肢ごとの解説

出典:平成29年度 春期 データベーススペシャリスト試験 午前II 問8(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。