WHERE句の条件式 ~比較演算子~ #3
みなさん、こんにちは。
どうも、さいばーきゃっとです。
今回は、前回解説した記事の続きになります。
前回の記事
今回は、SQL特有の演算子である「IS NULL」について、紹介していこうと思います。
そもそも「NULL」って何?
「NULL」の読み方は、ヌルもしくはナルです。
「NULL」とは、何のデータも格納されていない状態のことを示します。
以下の表をご覧ください。
上記の表では、小林四朗の「取得資格」の欄(赤枠)が空欄になっていますよね?
このように、欄に値(文字や数値)が格納されず、空欄になっていることを、「NULL」と定義しています。
※)「NULL」は、あくまで空欄を示します。空白(スペース)や数値の0とは、区別されるので、注意しましょう。
IS NULL
「IS NULL」演算子を使用すると、列に「NULL」(データ(値)が格納されていない欄)が含まれている行を選択することができます。
では、実際に「IS NULL」演算子を使用して、「NULL」を選択してみましょう。
以下の成績表から、資格を取得していない生徒を選択します。
構文は、以下になります。
すると、以下の結果になります
注意
「NULL」は、特殊な値であるため、列から「NULL」を検索する際は、「IS NULL」演算子でしか検索することができません。
等号(=)や不等号(≠,≦)などでは検索することできませんので、注意しましょう。
例えば、等号(=)を使用して、列の「NULL」を検索した時は、以下のような結果になります。
ここで注意すべき点は、上記のSQL文では「エラーにならない」ということです。
「NULL」は、どのような値に対しても、等しいまたは等しくない評価ができないため、該当する値が選択されず、何も選択されない結果になります。
いかがだったでしょうか?
3回に渡って、SQL特有の演算子について、紹介してきましたが、「BETWEEN....AND....」、「IN (値リスト)」、「LIKE パターン」、「IS NULL」の4つは、非常に大事なので、使い方を覚えておきましょう。