MySQL基础教程29-高级查询-where子句
2018-01-08 22:52
986 查看
本篇来学习下高级查询中的where子句。一般我们查询都是有条件的,很少会查询全量数据,所以我们会根据一些特定条件去海量数据里查询我们希望的结果,这个条件就是写在where子句里。
Where字句:用来判断数据,也就是根据条件筛选数据。Where 子句返回结果有两种:0和1,0代表false,1代表true,在SQL中没有布尔这种数据类型。
判断条件:
比较运算符:>, <, >=, !=, <>, =, like, between and, in, not in。
逻辑运算符:&&(and),||(or), !(not)
简单解释上面几种判断条件:<>这个也是不等于,意思是既大于也小于,like一般是在模糊匹配的时候用到,between and很好理解,在什么范围之间,in 和not in就是包含或者不包含的判断。
Where 原理:
Where是唯一一个直接从磁盘获取数据的时候就开始判断的条件,从磁盘取出一条记录,开始进行where判断,判断的结果如果成立保存到内存,如果失败直接放弃。从这个角度来说,where字句是考虑到内存使用效率的设计。
在举例之前,我们先来修改下我们的学生表,增加几个字段。
![](http://img.blog.csdn.net/20180108225429998?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
分别增加了身高,体重和籍贯三个字段。下面我们来给插入几条数据,插入后效果如下。(如果你嫌麻烦,你可以用图像化工具连接mysql,进行编辑,插入数据)
![](http://img.blog.csdn.net/20180108225448867?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查询练习1:找出学生id为java01001或者java01003的学生,练习逻辑判断
![](http://img.blog.csdn.net/20180108225506354?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查询练习2:查询身高在165到175之间的学生
![](http://img.blog.csdn.net/20180108225518384?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查询练习3:找出来自湖南或者湖北的学生。
这个利用练习1的逻辑判断是完全可以实现,下面我们用like模糊匹配来实现。
![](http://img.blog.csdn.net/20180108225532594?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTU0MTk0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
上面简单介绍了记住查询where条件,其他的这里就不一一介绍。以后我们会继续拿练习来覆盖这些where条件判断。
Where字句:用来判断数据,也就是根据条件筛选数据。Where 子句返回结果有两种:0和1,0代表false,1代表true,在SQL中没有布尔这种数据类型。
判断条件:
比较运算符:>, <, >=, !=, <>, =, like, between and, in, not in。
逻辑运算符:&&(and),||(or), !(not)
简单解释上面几种判断条件:<>这个也是不等于,意思是既大于也小于,like一般是在模糊匹配的时候用到,between and很好理解,在什么范围之间,in 和not in就是包含或者不包含的判断。
Where 原理:
Where是唯一一个直接从磁盘获取数据的时候就开始判断的条件,从磁盘取出一条记录,开始进行where判断,判断的结果如果成立保存到内存,如果失败直接放弃。从这个角度来说,where字句是考虑到内存使用效率的设计。
在举例之前,我们先来修改下我们的学生表,增加几个字段。
分别增加了身高,体重和籍贯三个字段。下面我们来给插入几条数据,插入后效果如下。(如果你嫌麻烦,你可以用图像化工具连接mysql,进行编辑,插入数据)
查询练习1:找出学生id为java01001或者java01003的学生,练习逻辑判断
查询练习2:查询身高在165到175之间的学生
查询练习3:找出来自湖南或者湖北的学生。
这个利用练习1的逻辑判断是完全可以实现,下面我们用like模糊匹配来实现。
上面简单介绍了记住查询where条件,其他的这里就不一一介绍。以后我们会继续拿练习来覆盖这些where条件判断。
相关文章推荐
- MySQL基础教程28-高级查询-数据源
- MySQL基础教程30-高级查询-group by子句
- MySQL基础教程32-高级查询-limit子句
- MySQL基础教程31-高级查询-having子句和order by子句
- MySQL基础教程33-连接查询-内连接
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询」
- mysql基础(3)-高级查询
- MySQL基础教程26-数据高级操作-更新
- 史上最简单的 MySQL 教程(二十五)「数据的高级操作 之 查询(下)」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 07--MySQL自学教程:DQL(Data Query Language:数据库查询语言)简介、基础查询、条件查询、模糊查询以及排序(一)
- MySQL中表子查询与关联子查询的基础学习教程
- mysql单表高级查询基础
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- MySQL中表子查询与关联子查询的基础学习教程
- 07--MySQL自学教程:DQL(Data Query Language:数据库查询语言)简介、基础查询、条件查询、模糊查询以及排序(一)
- MySQL基础教程27-查询-select选项和字段别名
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- MySql基础教程一(查询,插入,更新,删除,创建)