第4課 過濾資料
有時候只需要篩選滿足特定條件的資料,這時候就需要使用篩選條件對原始資料進行篩選。比如說我只想篩選消費金額大於500元的客戶id。
1.where子句
sql中,可以使用where子句指定篩選條件(過濾條件)進行資料篩選。
如:只返回prod_price值為3.49的行,而不是所有行
注意:在同時使用order by 和 where 子句時,應該讓order by 子句位於where 子句之後。
如果order by 子句位於where 子句之q前,則必定會報錯
2.where子句的操作符mysql中常用的where子句操作符:select prod_name,prod_price
from products
order
by prod_name
where prod_price=
3.49
;
等於:=
不等於:!= 或 <>
小於/小於等於:< / <=
大於/大於等於:> / >=
介於二者之間:between and
為空值: is null
(1) 檢索單個值
檢索**小於10美元的產品:
檢索**大於等於10美元的產品:
(2)不匹配檢索select prod_name,prod_price
from products
where prod_price>=
10;
列出所有不是**商dll01製造的產品:
使用 != 操作符,可以實現同樣的功能:
(3)範圍檢索select vend_id,prod_name
from products
where vend_id !=
'dll01'
;
檢索**在5美元到10美元之間的所有產品
between匹配範圍內的所有值,包括制定的開始值和結束值。可以理解為閉區間,[5,10]。
(4)空值檢索
mysql中,空值表示為null。應注意:空值不同於0、空字串或空格。
要想檢查值是否為空值,需要使用 is null
#返回電子郵件為空的顧客名
如果沒有空值,則沒有返回資料。
3.課後練習(1)編寫sql語句,從products表中檢索產品id(prod_id)和產品名稱(prod_name),只返回**為9.49美元的產品。
select prod_id,prod_name
from products
where prod_price=
9.49
;
(2)編寫sql語句,從products表中檢索id(prod_id)和產品名稱(prod_name),只返回**為9美元或更高的產品。
select prod_id,prod_name
from products
where prod_price>=
9;
(3)編寫sql語句,從orderitems表中檢索出所有不同訂單號(order_num),其中包含100個或更多的產品。
select
distinct order_num
from orderitems
where quantity>=
100;
(4)編寫sql語句,返回products表中所有**在3美元到6美元之間的產品的名稱(prod_name)和**(prod_price),然後按**對結果進行排序。
select prod_name,prod_price
from products
where prod_price between
3and
6order
by prod_price;
SQL必知必會 第4課 過濾資料
資料庫中一般包含大量資料,很少需要檢索表中所有行。通常只需要根據特定操作或報告的需要提取表資料的子集。只檢索所需資料需要指定搜尋條件 過濾條件 使用where子句 這裡只檢索這一列的值是否為指定值。但sql不只能測試等於,還可以有更多的操作。注意 在同時使用order by和where子句時,應該讓...
第5課 高階資料過濾
第5課 高階資料過濾 1.組合where子句 前面所講的where篩選都只使用乙個條件,在實際情況中,我們往往需要對資料進行多重條件篩選,如在銷售記錄中篩選出消費金額大於1千且性別為男性的使用者。要實現上述問題,就需要使用邏輯操作符將篩選條件組合起來。1 and操作符 篩選出滿足所有給定條件的資料 ...
SQL第5課 高階過濾資料
用來聯結或改變wehere子句中的子句的關鍵字,也稱為邏輯操作符。乙個and兩個條件,如果有多個條件,那麼兩個條件之間加乙個and 猜猜區別 select vend id,prod price,prod name from products where vend id dll01 or vend i...