在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之后,否则将会产生错误。
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)的所有产品。
| 留言与评论(共有 0 条评论) “” |