
SQLでnullかどうかの判定ってどうやってするの?
IS NULL、IS NOT NULLってどうやって使うの?
わかりやすく教えてほしい!
こういった疑問にこたえます。
この記事を読めば
- SQLでNULLかどうかの判定ができるようになる
- IS NULL、IS NOT NULLの使い方がわかるようになる
エンジニアの僕がわかりやすく解説します。
IS NULLの使い方
IS NULLはある列がNULLの行を選択するときに使う述語です。
NULLを選択したい場合は「=」が使えないのでIS NULLを使います。
例えば、次のようなshohinテーブルがあったとします。
| shohin_mei | kakaku | 
| 鉛筆 | 100 | 
| フライパン | 1500 | 
| 牛肉 | |
| Tシャツ | 1200 | 
このshohinテーブルのkakakuがNULLの行を選択したい場合、SQLは次のようになります。
SELECT * FROM shohin WHERE kakaku IS NULL;実行結果
| shohin_mei | kakaku | 
| 牛肉 | 
このように、kakakuがNULLである牛肉のレコードだけ取得することができました。
IS NOT NULLの使い方
IS NOT NULLはある列が非NULLの行を選択するときに使う述語です。
非NULLを選択したい場合は「!=」が使えないのでIS NOT NULLを使います。
先ほどのshohinテーブルのkakakuがNULLではないレコードを選択したい場合、SQLは次のようになります。
SELECT * FROM shohin WHERE kakaku IS NOT NULL;実行結果
| shohin_mei | kakaku | 
| 鉛筆 | 100 | 
| フライパン | 1500 | 
| Tシャツ | 1200 | 
このようにkakakuがNULLでないレコードだけ取得することができます。
IS NULL、IS NOT NULLの使い方まとめ
解説の内容をまとめます。
- IS NULLはある列がNULLの行を選択するときに使う述語
- IS NOT NULLはある列が非NULLの行を選択するときに使う述語
- NULLを判定するのに「=」や「!=」は使えない
以上、お疲れ様でした。
 
  
  
  
  

コメント