【Oracle】COUNT(*)の動作を理解する【過去問修行】
目標
このブログでは、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 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。
最近のコメント