MySQL基础教程29-高级查询-where子句

       本篇来学习下高级查询中的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基础教程29-高级查询-where子句_第1张图片

       分别增加了身高,体重和籍贯三个字段。下面我们来给插入几条数据,插入后效果如下。(如果你嫌麻烦,你可以用图像化工具连接mysql,进行编辑,插入数据)

MySQL基础教程29-高级查询-where子句_第2张图片

查询练习1:找出学生id为java01001或者java01003的学生,练习逻辑判断

MySQL基础教程29-高级查询-where子句_第3张图片

查询练习2:查询身高在165到175之间的学生

 MySQL基础教程29-高级查询-where子句_第4张图片

查询练习3:找出来自湖南或者湖北的学生。

这个利用练习1的逻辑判断是完全可以实现,下面我们用like模糊匹配来实现。

 MySQL基础教程29-高级查询-where子句_第5张图片

       上面简单介绍了记住查询where条件,其他的这里就不一一介绍。以后我们会继续拿练习来覆盖这些where条件判断。

 

你可能感兴趣的:(Mysql基础)