SQLのWHERE句でNOTを極めて否定できる人間になろう
NOTを極めていろんなことを否定できるように

SQLのNOTを極めたら、もしかしたら「イヤだ」と素直に言える人になれるかもしれない...そんな意外と忘れがちなNOTを教えていこう。

WHERE句で普通のNOT

WHERE NOT date = #2021/1/1#

dateが2021/1/1じゃなければデータを抽出。カラム名の前にNOTをつける。

WHERE句でINのNOT

WHERE name NOT IN ('joy', 'lisa')

nameがjoyまたはlisaじゃなければデータを抽出。カラム名のあと、INの前にNOTをつける。

WHERE句でLIKEのNOT

WHERE name NOT LIKE '%jo%'

nameがjoの文字列を含んでなければデータを抽出する。カラム名のあと、LIKEの前にNOTをつける。

WHERE句でBETWEENのNOT

WHERE date NOT BETWEEN #2021/1/1# AND #2021/7/31#

dateが2021/1/1~2021/7/31の間じゃなければデータを抽出する。カラム名のあと、BETWEENの前にNOTをつける。

ちなみに、日付をあやつることができればSQLでやれることが広がるんだよね。興味があればSQLで日付をマスターして自在にあやつれるようにしよう【ADO】を見てみるといい。

WHERE句でEXISTSのNOT

WHERE date NOT EXISTS #2021/1/1#

dateに2021/1/1が存在しないデータを抽出する。カラム名のあと、EXISTSの前にNOTをつける。

WHERE句でNULLのNOT

WHERE date IS NOT NULL

dateがNULL以外を抽出する。ISのあと、NULLの前にNOTをつける。

ちなみに、COUNTでも条件が設定できるから興味があるならSQLでSELECT句のCOUNTをきわめる【複数の条件指定も可能】を見てみるといい。