MySQL语句之条件判断(2) ——恋天小结

关系表达式

, >= , < , <= ,<>,=
大于
< : 小于
= : 大于等于
<= : 小于等于
= : 相等
<> : 不等于

注意 : = 和 <> 额外留意,和java中有所不同,java中判断相等用 == , 这里只用 = , java中判断不相等用 != , 这里使用 <>

如 : 查询学生表中,成绩大于90分的
select * from student where score > 90;

如 : 查询学生中,成绩为空的学生
*错误 判断为空不能使用 = null ,应该使用 is null
select * from student where score = null;
select * from student where score is null;

如 : 查询学生中,成绩不为空的学生
错误 判断不为空 不能使用 <>null,应该使用 is not null
select * from student where score <> null;
select * from student where score is not null;

**注意 : 判断是否为空,应该使用is null,而不是 = null , 同理,判断不为空应该使用 is not null ,而不是 <>null,并且and和or同时出现的话,and优先级比or要高

between and

在…之间

语法 : select 列限定 from 表限定 where 列名 between 值1 and 值1;

如 : 查询学生表中 成绩在98到100之间 (包含98和100)
select * from student where score >= 98 and score<=100;
等价于
select * from student where score between 98 and 100;

In

在指定数据中

语法 :
select 列限定 from 表限定 where 列名 in(值1,值2…);
如 : 给出一个数据集合(1,3,10,20),获取学生id在这个数据集合中的学生信息
select * from student where id in (1,3,10,20);

模糊查询like

我们经常会用到搜索功能,比如百度,搜索功能实现,就是使用like模糊查询技术点
其中 % 匹配任意个数的任意字符 _ 匹配单个任意字符
语法 :
select 列限定 from 表限定 where 列名 like ‘值’ ;

如 : 把name中,把姓张的查询出来
select * from student where name like ‘张%’;

如 : 把 name中,姓名有两个字的查询出来
select * from student where name like ‘__’;

如果想要查询 _ 或者 % 需要转义 % _

Order by

排序排序,望文知意,能够让我们查询的数据进行排序展示
语法 :
select 列限定 from 表限定 order by 列名 asc/desc;
Asc : 升序
Desc : 降序

如 : 查询所有学生信息,以成绩降序
	select * from student order by score desc;

如 : 查询所有学生信息,按成绩降序,如果成绩相同,按照id升序
	select * from  student order by score desc , id asc;

Limit

限制条数,通常和order by一起使用,因为我们使用排序之后,再去获取前几条数据,比较有价值,比如成绩前三名
语法 :
select 列限定 from 表限定 limit 条数;select 列限定 from 表限定 limit 开始值(不包含) ,条数;
如 : 查询学生表,分数前三名的信息
select * from student order by score desc limit 3;
如 : 查询学生表,分数第二名和第三名
select * from student order by score desc limit 1,2;

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页