使用WHERE子句

  • WHERE子句的位置:

    在同时使用ORDER BYWHERE子句时,应该让ORDER BY位于WHERE之后。

WHERE子句操作符

操作符说明
=等于
<>不等于
!=不等于
<小于
<=小于等于
>大于
>=大于等于
BETWEEN...AND...在指定的两个值之间,包含边界
...IS NULLNULL

检查单个值

  • MySQL在执行匹配时默认不区分大小写。
  • 单引号用来限定字符串。
1
2
3
SELECT prod_name, prod_price
FROM products
WHERE prod_name = 'fuses';

范围值检查

  • BETWEEN匹配范围中所有的值,包括指定的开始值和结束值。
1
2
3
SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;

空值检查

  • 一个列不包含值时,称其为包含空值NULL。

  • NULL:无值,它与字段包含0、空字符串或仅仅包含空格不同。

  • NULL与不匹配:

    在通过过滤选择出不具有特定值的行时,你可能希望返回具有NULL值的行。但是不行,因为未知具有特殊的含义,数据库不知道他们是否匹配,所以在匹配过滤或不匹配过滤时不返回他们。

    因此,在过滤数据时,一定要验证返回数据中确实给出了被过滤列具有NULL的行。

1
2
3
SELECT prod_name
FROM products
WHERE prod_price IS NULL;