where子句操作符
where子句的位置 在同时使用 order by 和 where子句时,应该让 order by 位于 where之后,否则将会产生错误
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
between A and B | 在指定的两个值之间 |
何时使用引号 ?
如果仔细观察上述 where子句中使用的条件,会看到有的值括在单引号内,而有的值未括起来。单引号用来限定字符串。如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。
空值检查
在创建表时,表设计人员可以指定其中的列是否可以不包含值。在一个列不包含值时,称其为包含空值 NULL 。NULL 无值(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 的行。