SQL必知必会(第四版)-4.过滤数据(WHERE)

目录

4.过滤数据

4.1 使用WHERE子句

4.2 WHERE子句操作符

例子

1. 列出所有价格小于10美元的产品

2. 检索所有价格小于等于10美元的产品

3. 列出所有不是供应商DLL01制造的产品

4. 检索价格在5美元和10美元之间的所有产品

5. 空值检查

注意


4.过滤数据

4.1 使用WHERE子句

只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)

WHERE子句在表名(FROM子句)之后给出,如下所示:

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

4.2 WHERE子句操作符

操作符兼容:表中列出的某些操作符是冗余的(如< >与!=相同,!<相当于>=)。并非所有DBMS都支持这些操作符。想确定你的DBMS支持哪些操作符,请参阅相应的文档。

例子

1. 列出所有价格小于10美元的产品

2. 检索所有价格小于等于10美元的产品

3. 列出所有不是供应商DLL01制造的产品

何时使用引号:如果将值与字符串类型的列进行比较,就需要限定引号。用来与数值列进行比较的值不用引号。

4. 检索价格在5美元和10美元之间的所有产品

BETWEEN匹配范围中所有的值,包括指定的开始值和结束值。

5. 空值检查

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

在一个列不包含值时,称其包含空值NULL。如:
返回所有没有价格(空prod_price字段,不是价格为0)的产品

返回没有电子邮件地址的顾客:

注意

通过过滤选择不包含指定值的所有行时,你可能希望返回含NULL值的行。但是这做不到。因为未知(unknown)有特殊的含义,数据库不知道它们是否匹配,所以在进行匹配过滤或非匹配过滤时,不会返回这些结果。
过滤数据时,一定要验证被过滤列中含NULL的行确实出现在返回的数据中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值