集合関数とNULLとは?
集合関数とNULLとは、SQLの集合関数(AVG、SUM、MAXなど)は、原則としてNULLを除外して計算する。COUNT(*) だけは行数を数えるためNULLを含む行も数える。
情報処理安全確保支援士試験の過去問では2回出題されています(2022年度〜2025年度)。
しゅうごうかんすうとなる
集合関数とNULLの意味
SQLの集合関数(AVG、SUM、MAXなど)は、原則としてNULLを除外して計算する。COUNT(*) だけは行数を数えるためNULLを含む行も数える。
集合関数とNULLの具体例
10行のうち2行が評価点NULLなら、AVGは残り8行の平均になる。
集合関数とNULLは試験でどう引っ掛けられる?
「NULLを0とみなして平均する」わけではない。母数からも外れる点が要点。
集合関数とNULLと関連する用語
集合関数とNULLが出た過去問
表Rと表Sに対して,次のSQL文を実行した結果はどれか。 〔SQL文〕 SELECT R.X AS A, R.Y AS B, S.X AS C, S.Z AS …
正解:A001,10,NULL,NULL / A002,20,A002,20 / A003,30,A003,30 / A005,50,NULL,NULL
要点:左外部結合は左表の全行を残し対応なしはNULLで埋める
左外部結合は、左側の表の行をすべて残し、結合条件に合う右側の行があれば連結し、なければ右側の列をNULLで埋める。左の表には4行あるのでその4行がすべて出力され、うち条件に合致する2行には右側の値が入り、残る2行はNULLとなる。右側にしかない行は結果に現れない点が要点である。
出典:令和4年度 秋期 情報処理安全確保支援士試験 am2 問21(IPA)“従業員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中のNULLは値が存在しないことを表す。 〔SQL文〕 SEL…
正解:S002, S004, S007
要点:NOT EXISTSの相関副問合せは部下を持たない行を抽出する
このSQLは、相関副問合せで「自分の従業員コードを上司として持つ行が存在しない」従業員、すなわち部下を一人も持たない従業員を抽出します。表では上司欄にS001・S003・S005・S006が現れるので、これらは部下を持つ従業員です。残るS002・S004・S007が誰の上司にもなっていないため、これらが結果として得られます。
出典:令和7年度 春期 情報処理安全確保支援士試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。