01NOT運算符
在sql語句中not表示否定,意爲非
不能單獨使用需要與其他條件配合
例一查詢售價小於1000元的商品
法一:
SELECT product_name,product_id
FROM PRODUCT
WHERE NOT sale_price >= 1000
--NOT用在條件前,否定的是整個條件
執行
法二:
SELECT product_name,product_id
FROM PRODUCT
WHERE sale_price < 1000
--大於等於的逆命題<
--相比於not這樣更爲方便
執行在這裏插入代碼片
小結:not用來否定某一條件但是不能濫用
02and和or運算符
and用於兩側條件均成立
or用於兩側條件有一個成立
例二查詢售價爲500的辦公用品或者廚具
SELECT product_name,product_id,sale_price
FROM PRODUCT
WHERE sale_purse = 500
AND product_type='辦公用品'
OR product_type ='廚具'
執行
這個結果並不是我們想要的,這是什麼原因呢?
在sql語言中and優先級高於or
也就是說會先執行
sale_purse = 500 AND product_type='辦公用品 語句
再執行
OR product_type =‘廚具’
如何優化達到我們想要的結果呢?
SELECT product_name,product_id,sale_price
FROM PRODUCT
WHERE sale_purse = 500
AND( product_type='辦公用品'
OR product_type ='廚具')
--括號會改變運算優先級
執行
03邏輯運算符與真值
所謂真值就是滿足條件時判定爲真,不滿足條件判斷爲假
比如滿足sale_pric>500爲True,否則爲False
通過上表可以發現,and連接的條件全爲真時結果爲真
or連接的條件兩個條件之一爲真結果爲真,反之爲假
想想看如果含有null會怎樣呢?
除了真假值之外還有一種結果就是不確定
比如我們之前提到菜刀的purchase_price的值爲null,不能說結果爲真,也不能說結果爲假。
與null對應的就是不確定。
通過真值表我們可以發現
不確定 and 真=不確定
不確定 and 假 =假
真 or 不確定 = 真
假 or 不確定 = 不確定
真 or 假 = 真
爲了便於記憶這個特殊用法,我們引入優先>來進行總結
and 中 假>不確定>真
or中 真>不確定>假