sales表の行数を数えるSQLはどれか。
本サイトで独自に作成。IPAの試験問題からの転載ではありません。
公開日:
選択肢を選んで、答え合わせをしましょう。
回答せずに正解・解説を確認する
正解:イ SELECT COUNT(*) FROM sales;
この表示だけでは、回答数や正答率は変わりません。
解説
COUNT(*)は、条件に該当する行の数を返します。この例にはWHERE句がないため、sales表のすべての行を数えます。
SUMは指定した数値の合計を計算します。SUM(*)という形は使いません。
COUNT(*)は各列のNULLの有無にかかわらず行を数えます。
DELETEは行の削除を行う命令です。
MAXは指定した列の最大値を求めます。MAX(*)という形は使いません。
関連知識
COUNT(*)は行数、COUNT(列名)はその列がNULLでない行数です。値が{10, NULL, 10}の3行なら、前者は3、後者は2となり、COUNT(DISTINCT 列名)は重複も除いて1です。
間違えやすいポイント
COUNT(列名)はNULLを数えませんが、COUNT(*)はNULLを含む行も数えます。
覚え方
*は行、列名は非NULLの値を数える。
実務での意味
注文全体の件数と、出荷日が入力済みの件数を別々に集計するときに使い分けます。
解説:本サイト編集部によるオリジナル文章