SQLでは、膨大なデータが管理されているデータベースを扱うため、様々なデータを取得して分析することができます。
ここでは、MySQLでIS NULLまたはIS NOT NULLを活用したNULLの検索について簡単に解説します。
【この記事はこんな方に向けて書いています】
・SQLの勉強をしてデータベースを扱ってみたい
・MySQLでNULLの検索について知りたい
【目次】
・IS NULL
・IS NOT NULL
・「= NULL」は使えない
・まとめ
IS NULLを使うとデータベースの中でNULLのデータを取得できます。
ここでは、スーパーの食品コーナーに並んでいる商品を格納したテーブルを例にNULLのデータを取得してみます。
テーブル「items」に、商品データが10個格納されています。
しかしデータがNULLになっている箇所があります。
IS NULLを使って、NULLのデータを取得する時は
SELECT * FROM テーブル名 WHERE カラム名 IS NULL;
と記述してEnterを押します。
NULLのデータを取得できました。
2件の商品が該当したようです。
IS NOT NULLを使うとデータベースの中でNULL以外のデータを取得できます。
IS NOT NULLを使って、NULL以外のデータを取得する時は
SELECT * FROM テーブル名 WHERE カラム名 IS NOT NULL;
と記述してEnterを押します。
NULL以外のデータを取得できました。
8件の商品が該当したようです。
IS NULLを使って、NULLのデータを取得する方法を学習しましたが「= NULL」では取得できないのでしょうか?
IS NULLのところを「= NULL」に変更してコマンドを入力してみます。
テーブル「items」にはNULLのデータが2件あるにも関わらず、データ無しを意味するEmpty setと表示されました。
このように、感覚的には「= NULL」でもNULLのデータを取得できそうですがIS NULLでないと取得できない点に注意が必要です。
まとめ
・MySQLでNULLの検索をする時はIS NULLを使う
・MySQLでNULLの検索をする時はIS NOT NULLを使う
・NULLの検索に「= NULL」は使えない
ここまで読んで頂きありがとうございました。
-------------------------------------------------------------------------------------
【関連記事】
SQLの環境構築「MySQL」
SQLの基礎:「MySQLの起動」
-------------------------------------------------------------------------------------
当ブログの記事一覧(カテゴリー別)