第六章:过滤数据,即where关键字的使用
在实际过程中,我们并不需要将所有的数据显示出来,只会将我们感兴趣的行数据显示出来,例如:在老师想统计考试成绩在90~100分这个区间的有哪些人?就需要过滤数据。
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法:
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
其中的运算符包括如下(图来源于:http://www.w3school.com.cn/sql/sql_where.asp):
实践例子如下:
大于和等于号的运用如下:
不等于号的运用如下:
between and的运用如下:
where语句高级用法
where的用法还是比较常用的,上面只是对where关键字的简单用法进行了简单的介绍。下面将对where语句的稍微复杂一点的用法进行介绍。
where and or的联合使用
在我们过滤数据的过程中,可能条件不止一个,这个时候就需要 将过滤条件用 and、or来连接了。
select * from student where score=80 and name='rang';//这样就得到了表中 score=80且name是rang的数据了。
上面是and关键字将过滤条件的使用方法。or关键字的用法与and是一样的。
select * from student where score>=80 or name='A';
实践操作截图如下:
where in 的联合使用
in 操作符用来指定条件范围,范围中的每一个条件都可以进行匹配。in取合法值的由逗号分隔的清单,全部括在圆括号中。
select * from student where score in (60,80);
in操作符的优点如下:
- 在使用长的合法选项清单时,in操作符的语法更清楚且更直观。
- 在使用in时,计算的次序更容易管理(因为使用的操作符更少)
- in操作符一般比or操作符清单更快。
- in最大的优点是可以包含其他的select语句,使得能够更动态地建立where语句。
where not 的联合使用
where子句中的not操作符有且只有一个功能,那就是否定它之后所跟的任何条件。
select * from student where not in (60,80);//含义就是将score除了60和80的其它成绩过滤出来。
小结
以上对where子句进行了介绍。
其中包括where的简单应用;例如:
select * from student where score>60;
还介绍了 where 与操作符 and or not in 的应用。例如
select * from student where score>60 and name='A';
select * from student where score=80 or name='B';
select * from student where score in (60,80);
select * from student where score not in (60,80);