mysql数据查询 2.条件查询
mysql数据查询 2.条件查询
1)逻辑条件
(1)逻辑and
需求:查询所有python和c成绩都大于等于80分的学生:
select*from infor where python >= 80 and c >= 80;
(2)逻辑or
需求:查询所有python或者c成绩大于等于80分的学生:
select*from infor where python >= 80 or c >= 80;
2)比较条件
运算符:大于(>)、小于( <)、大于等于(>=)、小于等于(<=)、等于(=)、不等于(!=或者<>)。
3)范围
(1)between
看一下between的用法,可以看到它包括前后边界:
select*from infor where python between 80 and 90;
(2)in
select*from infor where likes in(“音乐”,”阅读”);
4)判空
为了测试,我们把“小青”和“小明”原来的likes字段编程、游戏分别修改为null和””:
update infor set likes=null where id=1;
update infor set likes="" where id=2;
修改之后,如下图所示:
首先看一下null和空字符串的区别:
(1)null
指的是没有数据。判断null是:is null;判断不为null是: is not null。
(2)空字符串
指的是有数据,但数据是空字符串。判断空字符串: =””; 判断不为空字符串:!=”” 或者<>””。
需求:查询likes字段为空的学生?(包括null和空字符串)
select*from infor where likes is null or likes=””;
需求:查询likes字段不为空的学生?
select*from infor where likes is not null and likes !=””;
5)模糊查询(like)
%: 表示任意多个字符。
_: 表示一个任意字符。
需求:查询名字是“小”开头的学生成绩。
select*from infor where name like “小%”;
需求: 查询名字是3个字符,并且姓”叶”的学生成绩。
select*from infor where name like “叶__”;