SQL之SELECT语句-过滤数据(一)

WHERE子句

在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE子句在表名(FROM子句)之后给出。

SELECT prod_name, prod_price
FROM products
WHERE prod_price=3;

这条语句从products表中检索prod_price值为3的行。

WHERE子句的位置
在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错误。

WHERE子句操作符

SQL之SELECT语句-过滤数据(一)

检查单个值

SELECT prod_name, prod_price
FROM products
WHERE prod_name='苹果';

检查 WHERE prod_name='苹果' 语句,它返回 prod_name 的值为苹果的所有行。

SELECT prod_name, prod_price
FROM products
WHERE prod_price<=3;

检索价格小于等于3元的所有产品。

不匹配检查

SELECT vend_id, prod_name
FROM products
WHERE vend_id <> 1003;

检查不是由供应商ID为1003制造的所有产品。
vend_id <> '1003' 等同于 vend_id != '1003';

何时使用引号
如果仔细观察上述WHERE子句中使用的条件,会看到有的值括在单引号内(如前面使用的'苹果'),而有的值未括起来。
单引号用来限定字符串。

如果将值与串类型的列进行比较,则需要限定引号。

用来与数值列进行比较的值不 用引号。

范围值检查

SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 3 AND 10;

在使用BETWEEN时,必须指定两个值 ——所需范围的低端值和高端值。这两个值必须用AND关键字分隔。
BETWEEN匹配范围中所有的值,包括指定的开始值和结束值。

空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值。

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

SELECT prod_name
FROM products
WHERE prod_price IS NULL;

这条语句返回没有价格(空prod_price字段,不是价格为0)的所有产品。

语句   SQL   SELECT
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章