- # 筛选最大生命值大于 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;
来源: http://www.bubuko.com/infodetail-3289927.html