(四)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 '_%太%'

posted @ 2022-08-24 17:08  言思宁  阅读(13)  评论(0编辑  收藏  举报