muraki06さんの投稿一覧

助け合いフォーラムの投稿
2024/11/25 コメント
NULLを含むデータのcount(*)の結果について
arashi1977さん、返信ありがとうございます。 確認してみたところis nullのSQLの結果が0行となり、NULLではなく 空白になっていました。 内容を修正したら2行になりましたので解説の内容が正しいことが確認できました。 ありがとうございました。
2024/11/24 投稿
NULLを含むデータのcount(*)の結果について

解説に

SELECT count(*) FROM club WHERE name NOT IN ('野球部', 'サッカー部');
NOT IN演算子は「副問い合わせの結果全てと一致しないかどうか」を判定します。
「club」テーブルで「name」カラムの値が「野球部」「サッカー部」と一致しないのは、「弓道部」「卓球部」「NULL」ですが、NULLは無視されます。

したがって正解は
・2
です。

とありますが、count(*)はnullも含めた件数をカウントする認識のため3が正解だと思います。
実機で試しても3になります。解説の誤りでしょうか?

test=> select * from club;
 id |    name
----+------------
  1 | 野球部
  2 |
  3 | 弓道部
  5 | サッカー部
  7 | 卓球部
(5 行)

test=> SELECT count(*) FROM club WHERE name NOT IN ('野球部', 'サッカー部');
 count
-------
     3
(1 行)
合格体験記の投稿
投稿がありません