SQL必知必会(第四版) 第四课 过滤数据-读书笔记

4.1 使用WHERE子句

  数据表中一般包含大量的数据,很少需要检索表中的所有行。通常会根据特定的需要提取表数据的子集,只检索所需数据需要指定搜索条件。
  在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤,WHERE子句在表名(FROM子句)之后给出。

例如:输入

SELECT prod_name,prod_price FROM Products WHERE prod_price=2.5

输出:
在这里插入图片描述
上述SQL语句从表中检索两个列,只返回prod_price值为2.5所在的行。

提示:
  在同时使用WHERE子句和ORDER BY子句时,应该让ORDER BY子句位于WHERE子句之后。

4.2 WHERE子句操作符

  下表列出了SQL支持的所有条件操作符:

操作符说明
=等于
< >不等于
! =不等于
<小于
< =小于等于
! <不小于
>大于
> =大于等于
! >不大于
BETWEEN在指定的两个值之间
IS NULL为NULL值

提示:操作符兼容
  表中列出的某些操作符是冗余的(如< >与! =相同,! <相当于>=) ,并非所有的DBMS都支持这些操作符。

4.3 检查单个值

  下面我们来看看其他几个使用操作符的例子:

例1:列出所有价格下雨10美元的产品,输入

SELECT prod_name,prod_price FROM Products WHERE prod_price < 10

输出:
在这里插入图片描述
例2:列出所有价格小于等于10美元的产品,输入

SELECT prod_name,prod_price FROM Products WHERE prod_price <= 10

输出:
在这里插入图片描述

4.4 不匹配检查

例如:列出所有供应商不是1001的产品,输入

SELECT vend_id,prod_name,prod_price FROM Products WHERE vend_id != '1001'

输出:
在这里插入图片描述

4.5 范围值检查

  BETWEEN操作符匹配范围中的所有值,包含指定的开始值和结束值,两个值之间必须用AND关键字分隔。

例如:列出所有价格在5到10美元之间的所有产品,输入

SELECT prod_name , prod_price FROM Products WHERE prod_price BETWEEN 5 AND 10

输出:
在这里插入图片描述

4.6 空值检查

  在创建表时,可以指定其中的列能否不包含值,在一个列不包含值时,称其为空值NULL

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

  要确定值是否为NULL,不能只简单的用 = NULL。SELECT语句有一个特殊的WHERE子句可以用来检查具有NULL值的列,IS NULL

例如:输入

SELECT prod_name , prod_price FROM Products WHERE prod_price IS NULL

输入:
在这里插入图片描述
由于表中没有这样的行,所以没有返回数据。

例如:当表中有NULL值的行时,输入

SELECT cust_name FROM CUSTOMERS WHERE cust_email IS NULL

输入:
在这里插入图片描述

小结

  这一课介绍了如何用SELECT语句和WHERE子句过滤返回的数据。我们学习了如何检验相等、不相等、大于、小于、值的范围以及NULL值的判断等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值