(四)DQL——条件过滤
1. 筛选案例实操
查询所有最大生命值大于6000的英雄:
select name from heros where hp_max > 6000
要查询所有最大生命值在5399到6811之间的英雄:
select name from heros where hp_max between 5399 and 6811
heros表中的hp_max
字段进行空值检查:
select name from heros where hp_max is NULL
筛选最大生命值大于6000,最大法力大于1700的英雄,然后按照最大生命值和最大法力值之和从高到低进行排序。
select name from heros hp_max > 6000 and mp_max > 1700 order by (hp_max + mp_max) asc
想要查询主要定位或者次要定位是法师或是射手的英雄,同时英雄的上线时间不在2016-01-01到2017-01-01之间。
select name
from heros
where (role_main in ('法师', '射手') or role_assist in ('法师', '射手'))
and date(birthdate) not between '2016-01-01' and '2017-01-01'
order by (hp_max + mp_max) desc
2. 通配符案例实操
-
使用
%
通配符,代表零个或多个字符, -
_
只代表一个字符 -
LIKE '%'
无法查出NULL
我们想要查找英雄名中包含“太”字的英雄都有哪些:
SELECT name FROM heros WHERE name LIKE '%太%'
SELECT name FROM heros WHERE name LIKE '_%太%'