MySQL必知必会第六章-过滤数据

过滤数据

使用WHERE子句

搜索条件也称为过滤条件(filter condition)。在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤:
SELECT prod_name, prod_price FROM products WHERE prod_price = 2.50;
注意:

  • SQL过滤与应用过滤:数据也可以在应用层过滤,但是数据库进行了优化,以便快速有效地对数据进行过滤。让客户机应用(或开发语言)处理数据库的工作将会极大地影响应用的性能。
  • WHERE子句的位置:在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错误。

WHERE子句操作符

MySQL支持的条件操作符:

操作符 说明
= 说明
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两值之间(包含边界)

检查单个值

SELECT prod_name, prod_price FROM products WHERE prod_name = 'fuses';
SELECT prod_name, prod_price FROM products WHERE prod_price < 10;
SELECT prod_name, prod_price FROM products WHERE prod_price <= 10;

不匹配检查

SELECT vend_id, prod_name FROM products WHERE vend_id <> 1003;
SELECT vend_id, prod_name FROM products WHERE vend_id != 1003;
注意:
如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。

范围值检查

为了检查某个范围的值,可使用BETWEEN操作符:
SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;

空值检查

IS NULL子句可用来检查具有NULL值的列:
SELECT prod_name FROM products WHERE prod_price IS NULL;
注意:

  • NULL 无值(no value):它与字段包含0、空字符串或仅仅包含空格不同。
  • NULL与不匹配: 在通过过滤选择出不具有特定值的行时,不能返回具有NULL值的行。因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。

热门相关:首席的独宠新娘   寂静王冠   霸皇纪   霸皇纪   网游之逆天飞扬