工学1号馆

home

« | 返回首页 | »

MySQL过滤数据

By Wu Yudong on June 30, 2017

本文将讲总结如何使用SELECT语句的WHERE子句指定搜索条件。

1、使用WHERE子句

数据库表一般包含大量的数据,很少需要检索表中所有行。通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指定搜索条件search criteria,搜索条件也称为过滤条件filtercondition

SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名( FROM子句)之后给出,如下所示:

mysql> select prod_name, prod_price
-> from products
-> where prod_price = 2.50;

2、WHERE子句操作符

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

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

(1)检查单个值

mysql> select prod_name, prod_price
-> from products
-> where prod_price < 10;

(2)不匹配检查

以下例子列出不是由供应商1003制造的所有产品:

mysql> select vend_id, prod_name
-> from products
-> where vend_id <> 1003;

下面的sql语句检查WHERE prod_name=‘fuses’语句,它返回prod_name的值为Fuses的一行。 MySQL在执行匹配时默认不区分大小写,所以fusesFuses匹配。

mysql> select prod_name, prod_price
-> from products
-> where prod_name='fuses';

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

(3)检查值范围

为了检查某个范围的值,可使用BETWEEN操作符。

mysql> select prod_name, prod_price
-> from products
-> where prod_price between 5 and 10;

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

(4)空值检查

在创建表时,表设计人员可以指定其中的列是否可以不包含值。在一个列不包含值时,称其为包含空值NULL

SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列。这个WHERE子句就是IS NULL子句。其语法如下:

mysql> select cust_id
-> from customers
-> where cust_email is null;

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)