3-SQL過濾

# 篩選最大生命值大於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;
相關文章
相關標籤/搜索