天天看点

《MySQL必知必会学习笔记》过滤数据

第六章:过滤数据,即where关键字的使用

在实际过程中,我们并不需要将所有的数据显示出来,只会将我们感兴趣的行数据显示出来,例如:在老师想统计考试成绩在90~100分这个区间的有哪些人?就需要过滤数据。

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

语法:

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

其中的运算符包括如下(图来源于:http://www.w3school.com.cn/sql/sql_where.asp):

《MySQL必知必会学习笔记》过滤数据

实践例子如下:

大于和等于号的运用如下:

《MySQL必知必会学习笔记》过滤数据

不等于号的运用如下:

《MySQL必知必会学习笔记》过滤数据

between and的运用如下:

《MySQL必知必会学习笔记》过滤数据

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';
           

实践操作截图如下:

《MySQL必知必会学习笔记》过滤数据

where in 的联合使用

in 操作符用来指定条件范围,范围中的每一个条件都可以进行匹配。in取合法值的由逗号分隔的清单,全部括在圆括号中。

select * from student where score in (60,80);
           
《MySQL必知必会学习笔记》过滤数据

in操作符的优点如下:

  • 在使用长的合法选项清单时,in操作符的语法更清楚且更直观。
  • 在使用in时,计算的次序更容易管理(因为使用的操作符更少)
  • in操作符一般比or操作符清单更快。
  • in最大的优点是可以包含其他的select语句,使得能够更动态地建立where语句。

where not 的联合使用

where子句中的not操作符有且只有一个功能,那就是否定它之后所跟的任何条件。

select * from student where not in (60,80);//含义就是将score除了60和80的其它成绩过滤出来。
           
《MySQL必知必会学习笔记》过滤数据

小结

以上对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);
           

继续阅读