MySQL必知必会第六章-过滤数据,在SELECT语句中
过滤数据
使用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值的行。因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。