6.1 使用where子句
在檢索數(shù)據(jù)時往往需要指定搜索條件,因此就需要使用WHERE子句來對條件進行過濾:
SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50;
- 限定條件之后就只返回當條件成立下的行
- ORDER BY子句要位于WHERE后,否則會報錯
6.2 邏輯運算符
WHERE語句可以搭配上邏輯運算符來進行條件篩選:
SELECT prod_name, prod_price
FROM products
WHERE
#等于
prod_name = 'fuses';
#小于
prod_price < 10;
#小于等于
prod_price <= 10;
當然,還可以進行不匹配檢索:
SELECT prod_name, prod_price
FROM products
WHERE vend_id <> 1003;
#等價于
WHERE vend_id != 10;
6.3 搭配其他關(guān)鍵字應(yīng)用
6.3.1 區(qū)間BETWEEN AND
如果想查找某個區(qū)間范圍內(nèi)的值,可以在WHERE語句中搭配BETWEEN..AND關(guān)鍵字來進行:
SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;
- 類似于BETWEEN..AND的還有IN關(guān)鍵字的用法,但是和前者不同的是,后者只能查找限定值里的行,即是否滿足條件為限定值:
SELECT prod_name, prod_price
FROM products
WHERE prod_price IN (5,10);
- 這里只會返回當prod_price=5或prod_price=10的結(jié)果,兩者還是稍微有點區(qū)別的
6.3.2 IS關(guān)鍵字
除了可以搭配BETWEEN關(guān)鍵字之外,還能搭配IS關(guān)鍵字,用來查看當篩選條件為某個條件時所包含的記錄:
SELECT prod_name
FROM products
WHERE prod_price IS NULL;
如果prod_price中有空值則返回,否則就不返回任何結(jié)果
6.3.3 AND和OR操作符
AND和OR操作符的使用可以使得WHERE條件查詢子句可以實現(xiàn)多條件的篩選:
SELECT prod_name, prod_price
FROM products
WHERE vend_id = 1002 OR vend_id =1003
AND prod_price >= 10;
- 當AND和OR出現(xiàn)的時候,AND的計算優(yōu)先級更高,此時的操作符會出現(xiàn)錯誤運用
正確的做法是將AND前面的條件用圓括號括起來
6.3.4 NOT關(guān)鍵字
NOT關(guān)鍵字與IS關(guān)鍵字是相反的操作,即否定NOT之后的條件