1. 程式人生 > 其它 >【MySQL_學習筆記】2021.8.10

【MySQL_學習筆記】2021.8.10

  • where語句(篩選條件)
SELECT * FROM person_sales WHERE grade=3
SELECT * FROM person_sales WHERE grade>3
SELECT * FROM person_sales WHERE sale_amount <= 50000
SELECT * FROM person_sales WHERE grade<>3
SELECT * FROM person_sales WHERE grade!=3

備註:不等於可以用 <> 或 != 表示

SELECT * FROM person_sales WHERE
staff_name='張進'

備註:如果想表示文字內容,必須要加單引號''或雙引號"",將其表示成字串

SELECT * FROM person_sales where grade=3 ORDER BY sale_amount DESC LIMIT 10

備註:順序——select 欄位 FROM表名 where 篩選條件 order by 排序欄位 Limit 記錄數量

SELECT * FROM person_sales where sale_amount=0 ORDER BY grade LIMIT 1
  • NULL值的處理

代表該欄位為空,沒有填寫過任何內容(空不是0)

SELECT
* FROM person_sales where sale_amount IS null

備註:判斷空值不能用 =! ,需要用 IS NULL

  • 邏輯操作符 and or not
SELECT * FROM gb_members WHERE grade=2 OR grade=3
SELECT * FROM gb_members WHERE grade=3 AND income>2000
SELECT * FROM gb_members 
    WHERE (grade=3 AND income>2900
                OR grade=2 AND income>
2950) AND kill_enemy>3

備註:(1)邏輯運算優先順序 括號 > not > and > or(2)必須是半形括號(3)只用圓角括號,不能使用方括號、花括號

SELECT * FROM gb_members 
    WHERE NOT((grade=3 AND income>2900
                OR grade=2 AND income>2950)
            AND kill_enemy>3)
SELECT * FROM gb_members 
    WHERE (grade=3 AND income>2900
                OR grade=2 AND income>2950)
            AND kill_enemy>3
            AND (kitchen_skill='白斬雞' OR kitchen_skill='叫花雞')
    ORDER BY income DESC, kill_enemy desc
    LIMIT 10
SELECT * FROM gb_members 
    WHERE (grade=3 AND income>2900
                OR grade=2 AND income>2950)
            AND kill_enemy>3
            AND kitchen_skill IN ('白斬雞','叫花雞')
    ORDER BY income DESC, kill_enemy desc
    LIMIT 10

備註:x in (a,b,c,…) 只要x的值等於括號中任意一項,即視為符合條件,相當於x=a or x=b or x=c