mysql数据查询 2.条件查询

mysql数据查询 2.条件查询

1)逻辑条件

(1)逻辑and

需求:查询所有python和c成绩都大于等于80分的学生:

 select*from infor where python >= 80 and c >= 80;

mysql数据查询 2.条件查询

(2)逻辑or

需求:查询所有python或者c成绩大于等于80分的学生:

select*from infor where python >= 80 or c >= 80;

mysql数据查询 2.条件查询

2)比较条件

运算符:大于(>)、小于( <)、大于等于(>=)、小于等于(<=)、等于(=)、不等于(!=或者<>)。

3)范围

(1)between

看一下between的用法,可以看到它包括前后边界:

select*from infor where python between 80 and 90;

mysql数据查询 2.条件查询

(2)in

select*from infor where likes in(“音乐”,”阅读”);

mysql数据查询 2.条件查询

4)判空

为了测试,我们把“小青”和“小明”原来的likes字段编程、游戏分别修改为null和””:

update infor set likes=null where id=1;

update infor set likes="" where id=2;

修改之后,如下图所示:

mysql数据查询 2.条件查询

首先看一下null和空字符串的区别:

(1)null

指的是没有数据。判断null是:is null;判断不为null是: is not null。

(2)空字符串

指的是有数据,但数据是空字符串。判断空字符串: =””; 判断不为空字符串:!=”” 或者<>””。

需求:查询likes字段为空的学生?(包括null和空字符串)

select*from infor where likes is null or likes=””;

mysql数据查询 2.条件查询

需求:查询likes字段不为空的学生?

select*from infor where likes is not null and likes !=””;

mysql数据查询 2.条件查询

5)模糊查询(like)

%: 表示任意多个字符。

_: 表示一个任意字符。

需求:查询名字是“小”开头的学生成绩。

select*from infor where name like “小%”;

mysql数据查询 2.条件查询

需求: 查询名字是3个字符,并且姓”叶”的学生成绩。

select*from infor where name like “叶__”;

mysql数据查询 2.条件查询