kub*_*uba 3 mysql sql select where
这两个查询的结果如何可能:
SELECT * FROM `workers` WHERE `name` = 'Smith`
Run Code Online (Sandbox Code Playgroud)
和
SELECT * FROM `workers` WHERE NOT `name` = 'Smith`
Run Code Online (Sandbox Code Playgroud)
不总和到整个表workers?
因为NULL在name字段中没有进入任何一个查询.
在三元逻辑中SQL使用,NULL = 'Smith'并且NOT NULL = 'Smith'都评估NULL和过滤掉.
使用NULL-safe比较运算符,<=>:
SELECT * FROM `workers` WHERE `name` <=> 'Smith`
Run Code Online (Sandbox Code Playgroud)
和
SELECT * FROM `workers` WHERE NOT `name` <=> 'Smith`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |