【Oracle】COUNT(*)の動作を理解する【過去問修行】

2025年2月10日

目標

このブログでは、Oracle Silver 資格取得を目指す方のために、過去問の解説やポイントを共有し、理解を深めることを目的としています。

勉強方法

  • 実際の過去問を解いて、現在の理解度を把握する。
  • 間違えた問題をチェックし、解説を通して理解を深める。
  • 理解した内容を実際のSQL環境で試してみる。
  • 類似問題を解くことで、知識を定着させる。

問題

以下のSQL文の実行結果として正しいものを選択してください。

SELECT COUNT(*) FROM employees WHERE department_id = 10;

選択肢

  • A. 部門IDが10の従業員の総数を返す
  • B. 部門IDが10の従業員の詳細情報を返す
  • C. エラーが発生する
  • D. NULL を返す

正解

A. 部門IDが10の従業員の総数を返す

解説

COUNT(*) は、指定した条件に一致する行の総数を返す集約関数です。 WHERE department_id = 10 の条件に一致する行数を計算し、結果を返します。

間違い選択肢の解説

  • 選択肢B: COUNT(*) は詳細情報ではなく行数を返すため誤り。
  • 選択肢C: COUNT(*) はエラーを発生させないため誤り。
  • 選択肢D: COUNT(*) は該当するデータがなかった場合でも 0 を返すため誤り。

ポイント

  • COUNT(*) はNULLを含む全行をカウントする
  • COUNT(カラム名) はNULLを除いた行数をカウントする
  • WHERE で条件を指定した場合、その条件に合致するデータのみカウントされる

実践例

-- employees テーブルのサンプルデータ
SELECT COUNT(*) FROM employees WHERE department_id = 10;

まとめ

COUNT(*) は、指定した条件に一致する行の総数を返す集約関数であり、エラーを発生させることなく動作します。


このブログは Oracle Silver 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。