MySQL之-查询操作常常遇到的坑

Posted 毫末之木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL之-查询操作常常遇到的坑相关的知识,希望对你有一定的参考价值。

mysql的select条件查询操作,使用语法select 列名 from 表名 where 列 运算符 值where关键字后可跟一个或多个条件,来过滤记录,将满足条件的记录返回。除去常用查询运算符,在具体的使用过程中会有部分需要注意的地方或可能遇到的问题。

  • 条件查询-不等于<>、!=

    注:<>是最早的用法。!=是后来加上的。两种写法的意义相同,<>的可移植性更好,如为了更好的照顾不同版本移植性,SQL语句中可尽量使用<>

  • NULL值查询

    对应null值的查询需要用到专门的条件:is null 或 is not  null。其他的条件查询会忽略null值。如:select * from user where name like '%'如果name有null值的情况,则无法查询出相应的数据。

    注:查询运算符likebetween andinnot in对null值查询不起作用。

  • <=>安全等于

    <=>可以查询null值如:select * from user where name <=> null

  • like

    select * from user;

    select * from user where name like '%';

    以上两个SQL查询的结果是什么?

    结果分两种情况:

    1、如果name没有null值,则两个SQL的查询结果相同。

    2、如果name有null值,则sql2会忽略name为null的数据记录。

总结:

  • null值查询需要使用is null或is not null查询,其他的查询运算符对null值无效。

  • 建表时,尽量设置表的字段不为null,给字段一个默认值。

  • <=>安全等于可读性比较差,玩玩就好建议少使用。


以上是关于MySQL之-查询操作常常遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

MYsql5.7版本之后,用group by查询不在分组字段遇到的坑

Linux Mysql主从配置整理主从配置遇到的坑!

MySQL中使用group_concat遇到的坑

遇到Mysql的mysql-bin文件的坑

子查询更新操作的坑

设置mysql允许外部IP连接的解决方法及遇到的坑说明