MYSQL比较运算符<>与!= 的使用区别

  • Post author:
  • Post category:mysql




一、先看查询SQL及结果



1、第一种情况查询,查询不为集客的工单信息(家客、空字符串、NULL)

SELECT id, type FROM order WHERE (type = ‘家客’ OR type IS NULL OR type = ‘’);



执行结果:

id type


AA1KTB531CE9F1F7D496FADB8A1B600FC73E7 家客

AA1KTB6CAA4C883264055902E4B167E3B0411

AA1KTB6E0C49D170143C9846A5FB7A5A7DF27 家客

AA1KTB6FDC54D0BBC4E2FA905337E60429ED2 家客

AA1KTB7C23D005D1D487388D8BB67D3557F6A (NULL)



2、第二种情况查询,查询不为集客的工单(家客、空字符串)

SELECT id, type FROM order WHERE type <> ‘集客’ ;

或者

SELECT id, type FROM order WHERE type != ‘集客’ ;



执行结果:

id type


AA1KTB531CE9F1F7D496FADB8A1B600FC73E7 家客

AA1KTB6CAA4C883264055902E4B167E3B0411

AA1KTB6E0C49D170143C9846A5FB7A5A7DF27 家客

AA1KTB6FDC54D0BBC4E2FA905337E60429ED2 家客

结果对比:

MYSQL 比较运算符 <> 或者 != 的查询结果是一样的,都是不包含NULL的情况,NULL值在MYSQL数据库中是没有值的情况,默认为空值NULL,而不是空字符串(注意区别);
<>是现在使用的sql标准, != 是现在使用的sql标准;
如果第二种情况想查询出情况一的结果,可以修改如下:
SELECT id, type FROM order WHERE type <> '集客' or type IS NULL;



版权声明:本文为hykang123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。