过滤数据
数据库表中一般包含大量的数据,很少需要检索表中的所有行。在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤,WHERE子句在表名(FROM子句)之后给出。
格式:SELECT 显示的列名 FROM 表名 WHERE 条件;
实操:SELECT flname,money FROM gjp_zhangwu WHERE money = 5000;
结果如下:
注意:SQL过滤与应用过滤,数据也可以在应用层过滤。为此,SQL的SELECT语句为客户端应用检索出超过实际所需的数据,然后客户端代码对返回数据进行魂环,提取出需要的行。但这种做法极其不妥。优化数据库后可以更快速有效地对数据进行过滤。而让客户端应用(或开发语言)处理数据库的工作将会极大地影响应用的性能,并且使所创建的应用完全不具备可伸缩性。此外,如果在客户端过滤数据,服务器不得不通过网络发送多余的数据,这将导致网络带宽的浪费。
WHERE子句的位置:在同时使用ORDER BY和WHERE子句时,应该让ORDER BY 位于WHRER之后,否则将会产生错误。
WHERE子句操作符
WHERE子句操作符检查单个值
实操:SELECT flname,money FROM gjp_zhangwu WHERE money < 5000;
不匹配检查
实操:SELECT flname,money FROM gjp_zhangwu WHERE money <> 5000;
SELECT flname,money FROM gjp_zhangwu WHERE money != 5000;
两种操作结果相同,如下:
范围值检查
格式;SELECT 要显示的列名 FROM 表名 WHERE 限制条件列名 BETWEEN 数值 AND 数值;
实操;SELECT flname,money FROM gjp_zhangwu WHERE money BETWEEN 1000 AND 5000;
结果如下:
空值检查
格式:SELECT 显示的列名 FROM 表名 WHERE 条件列名 IS NULL;
实操:SELECT flname,money FROM gjp_zhangwu WHERE money IS NULL;
结果如下:
网友评论