2010-12-27 14 views
3

に合計しないことも可能であるどのように 'WHERE STH、NOT SELECT' 'WHERE STH SELECT' とするもの2つのクエリからの結果:MySQLの - からの結果は、全表

SELECT * FROM `workers` WHERE `name` = 'Smith` 

SELECT * FROM `workers` WHERE NOT `name` = 'Smith` 

テーブル全体を合計しないworkers

答えて

7

NULLnameフィールドにはいずれのクエリも入力されません。

SQLが使用する3進論理では、NULL = 'Smith'NOT NULL = 'Smith'の両方がNULLと評価され、除外されます。

使用NULL -safe比較演算子、<=>

SELECT * FROM `workers` WHERE `name` <=> 'Smith` 

SELECT * FROM `workers` WHERE NOT `name` <=> 'Smith`