MySql过滤数据

where子句操作符

where子句的位置 在同时使用 order bywhere子句时,应该让 order by 位于 where之后,否则将会产生错误

操作符 说明
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between A and B 在指定的两个值之间

何时使用引号 ?

如果仔细观察上述 where子句中使用的条件,会看到有的值括在单引号内,而有的值未括起来。单引号用来限定字符串。如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。

空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值。在一个列不包含值时,称其为包含空值 NULLNULL 无值(no value),它与字段包含 0 、空字符串或仅仅包含空格不同。
例子:
select语句有一个特殊的 where 子句,可用来检查具有 NULL 值的列。这个 where 子句就是 IS NULL 子句。其语法如下:
select prod_name from products where prod_price is null;
这条语句返回没有价格(空 prod_price 字段,不是价格为 0 )的所有产品

NULL 与不匹配

在通过过滤选择出不具有特定值的行时,可能希望返回具有 NULL 值的行。但是,不行。因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。因此,在过滤数据时,一定要验证返回数据中确实给出了被过滤列具有 NULL 的行。

猜你喜欢

转载自blog.csdn.net/B_Nemo/article/details/84306010
今日推荐