第四课:过滤数据

4.1使用WHERE子句

我们用WHERE子句来指定搜索条件,WHERE子句在表名(FROM子句)之后使用

SELECT prod_name, prod_price
FROM Products
WHERE prod_price = 3.49;

解析: 这条语句从products表中检索两个列,但不返回所有行,只返回prod_price值为3.49的行

注意:在同时使用ORDER BYWHERE子句时,应该让ORDER BY 位于WHERE之后,否则会报错

4.2 WHERE子句操作符

操作符:

在这里插入图片描述
注意: 操作符兼容问题,要在你自己的DBMS测试一下

4.2.1 检查单个值

4.2.2 不匹配检查

SELECT vend_id, prod_name
FROM Products
WHERE vend_id <> 'DLL01';

当数值与字符串进行比较时,对于字符串要用单引号引起来。
注意: 不等于用 <>还是 != 通常可以互换,但有的数据库只支持其中一种。

范围检测

如果我们想检索价格在5美元和10美元之间的所有产品,该怎么办?

SELECT pro_name, prod_price
FROM Products
WHERE prod_price BETWEEN 5 AND 10;

我们用BETWOON 最低值 AND 最高值。

4.2.4 空值检测

表中的有些行是可以设置为可为NULL的,我们如何去检索这样的列呢。我们是不能用= NULL来检索的,SELECT语句有一个特殊的WHERE子句,可以用来检索含有NULL的列。这个特殊的子句是IS NULL子句:

SELECT pro_name
FROM Products
WHERE prod_price BETWEEN IS NULL;

注意: 当你要过滤不包含指定值的所有行时,如果筛选的那一行的值可以为NULL,你希望除了那个指定值外,的所有值(包含NULL的值)都检索出来是做不到的,因为数据库不知道NULL的值是否匹配,所以不会返回这些结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值