欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

3-SQL过滤

程序员文章站 2022-07-02 12:46:41
# 筛选最大生命值大于6000,最大法力值大1700的英雄,然后按照二者之和从高到低进行排序 SELECT NAME , hp_max, mp_max FROM heros WHERE hp_max > 6000 AND mp_max > 1700 ORDER BY ( hp_max + mp_ma ......
# 筛选最大生命值大于6000,最大法力值大1700的英雄,然后按照二者之和从高到低进行排序
select name
    ,
    hp_max,
    mp_max 
from
    heros 
where
    hp_max > 6000 
    and mp_max > 1700 
order by
    ( hp_max + mp_max ) desc;# 查询最大生命值加最大法力值大于8000的英雄,或者最大生命值大于6000并且最大法力值大于1700的英雄
select name
    ,
    hp_max,
    mp_max 
from
    heros 
where
    ( ( hp_max + mp_max ) > 8000 or hp_max > 6000 and mp_max > 1700 ) 
order by
    ( hp_max + mp_max ) desc;# 查询主要定位或者次要定位是法师或是射手的英雄,同时英雄的上线时间不在2016-01-01到2017-01-01之间
select name
    ,
    role_main,
    role_assist,
    hp_max,
    mp_max,
    birthdate 
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;# 使用通配符过滤- 查询英雄名中包含“太”字的英雄 字符串搜索区分大小写
select name 
from
    heros 
where
    name like '%太%';# 如果想要匹配单个字符,请使用下划线()通配符
# (%)和()的区别子啊与,(%)代表零个或多个字符,而(_)只代表一个字符
# 查询英雄名除了第一个字以外,包含'太'字的英雄有哪些
select name 
from
    heros 
where
    name like '_%太%';# 查询主要定位是坦克或者战士,并且次要定位不为空,同时满足最大生命值大于8000或者最大法力小于1500的英雄,并且按照最大生命和最大法力之和从高到低的顺序进行排序
select name
    ,
    role_main,
    role_assist,
    hp_max,
    mp_max 
from
    heros 
where
    role_main in ( '坦克', '战士' ) 
    and role_assist is not null 
    and ( hp_max > 8000 or mp_max < 1500 ) 
order by
    ( hp_max + mp_max ) desc;