天天看点

6.过滤数据

学习目标
  1. 使用where子句
  2. where子句操作符
  3. 检查单个值
  4. 不匹配检查
  5. 范围检查

一.使用where子句

数据库当中,通常会根据特定操作或报告的提取表需要数据的子集。 

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

1.where检查一个列是否具有指定相等的值

需求:查询产品表中prod_name,prod_price,prod_desc字段,过滤条件产品价格=2.50

select prod_name,prod_price,prod_desc from products

where prod_price=2.50; 

格式:select 列名1,列名2,列名3 from 表名 where 列名2=2.50;

6.过滤数据

SQL过滤与应用过滤 :

  1. SQL的SELECT语句为客户机应用检索出超过实际所需的数据,然后客户机代码对返回数据进行循环,以提取出需要的行。
  2. 让客户机应用(或开发语言)处理数据库的工作将会极大地影响应用的性能,并且使所创建的应用完全不具备可伸缩性。
  3. 如在客户机上过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费。
2.WHERE子句的位置

WHERE子句在前,ORDER BY再后, 否则将会产生错误 。

select prod_name,prod_price,prod_desc from products

where prod_price>5

order by prod_price,prod_name;

6.过滤数据

二.where子句操作符

操作符与说明:

6.过滤数据
1.检查单个列

需求:查询产品表中prod_name,prod_price,prod_desc字段,过滤条件产品名称='fuses' 

select prod_name,prod_price,prod_desc from products

where prod_name='fuses'; 

格式:select 列名1,列名2,列名3 from 表名 where 列名1='fuses';

检查WHERE prod_name=‘fuses’语句,它返回prod_name的值为Fuses的一行。

MySQL在执行匹配时默认不区分大小写,所以fuses与Fuses匹配

6.过滤数据

例子1:产品价格小于10,按升序排列 

select prod_name,prod_price,prod_desc from products

where prod_price<10 

order by prod_price,prod_name;

2.不匹配检查

需求:不是由供应商1003制造的所有产品 

select vend_id,prod_name,prod_price,prod_desc from products

where vend_id <> 1003; 

格式:select 列名1,列名2,列名3,列名4 from 表名 where 列名1 <> 1003;

单引号用来限定字符串。用来与数值列进行比较的值不用引号 。

6.过滤数据

等同于:

select vend_id,prod_name,prod_price,prod_desc from products

where vend_id != 1003;

3.范围值检查(BETWEEN)

BETWEEN需要两个值,即范围的包括开始值和包括结束值。 [2,3]这两个值必须用AND关键字分隔。

需求:查询价格在2.5到10之间的产品名称和产品价格,价格按升序排列

select prod_name,prod_price from products

where prod_price between 2.5 and 10

order by prod_price; 

格式:select 列名1,列名2 from 表名 where 列名2 between 2.5 and 10;

6.过滤数据
4.空值检查

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

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

SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列。

这个WHERE子句就是IS NULL子句。

需求:顾客email是空的,顾客的id

select cust_id from customers

where cust_email is null ; 

格式:select 列名1 from 表名 where 列名2 is null;

6.过滤数据

三.总结

学习了:

  1. 何用SELECT语句的WHERE子句过滤返回的数据。
  2. 对相等、不相等、大于、小于、值的范围。
  3. 以及NULL值等进行测试。

多思考,多总结,多输出,一键四连~

但行好事,莫问前程,我们下篇见~

往期文章:

​​5.排序检索数据​​

​​4.检索数据​​

​​3.使用MySQL​​

继续阅读