MySQL的运算符 <>和<=>
<>运算符
含义:不等于
示例
查询公司中的不在职员工
SELECT * FROM clerk WHERE state <> "在职";
<>、!=、is not 对比
<>运算符在数据库查询中与!=的作用是一致的,都是用于表示不等于,但是<>的可读性较差。
<>的可移植性比较好,故而sql语句中尽量使用<>来做不等判断。
<>和!=都不会列值为null的记录,而is not 会匹配列值为null的列。
<=>
含义:等于
示例
查询公司中的在职员工
SELECT * FROM clerk WHERE state <=> "在职";
= 、 <=> 、 is对比
is 专门用来判断是否为 NULL,而 = 则是用来判断非NULL以外的所有数据类型使用。而 <=> 则是前两者合起来。
- <=> 只用于MySQL数据库,username <=> NULL 得 0 等价 username is NULL,NOT(username <=> NULL) 等价 username is NOT NULL;
- 当col1,col2两个可能存在NULL值的列需要进行相等比较时,可以使用 col1 <=> col2,可以把null=null的也关联起来。