過濾資料
使用WHERE子句
搜索條件也稱為過濾條件(filter condition),在SELECT陳述句中,資料根據WHERE子句中指定的搜索條件進行過濾:
SELECT prod_name, prod_price FROM products WHERE prod_price = 2.50;
注意:
- SQL過濾與應用過濾:資料也可以在應用層過濾,但是資料庫進行了優化,以便快速有效地對資料進行過濾,讓客戶機應用(或開發語言)處理資料庫的作業將會極大地影回應用的性能,
- WHERE子句的位置:在同時使用ORDER BY和WHERE子句時,應該讓ORDER BY位于WHERE之后,否則將會產生錯誤,
WHERE子句運算子
MySQL支持的條件運算子:
| 運算子 | 說明 |
|---|---|
| = | 說明 |
| <> | 不等于 |
| != | 不等于 |
| < | 小于 |
| <= | 小于等于 |
| > | 大于 |
| >= | 大于等于 |
| BETWEEN | 在指定的兩值之間(包含邊界) |
檢查單個值
SELECT prod_name, prod_price FROM products WHERE prod_name = 'fuses';
SELECT prod_name, prod_price FROM products WHERE prod_price < 10;
SELECT prod_name, prod_price FROM products WHERE prod_price <= 10;
不匹配檢查
SELECT vend_id, prod_name FROM products WHERE vend_id <> 1003;
SELECT vend_id, prod_name FROM products WHERE vend_id != 1003;
注意:
如果將值與串型別的列進行比較,則需要限定引號,用來與數值列進行比較的值不用引號,
范圍值檢查
為了檢查某個范圍的值,可使用BETWEEN運算子:
SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
空值檢查
IS NULL子句可用來檢查具有NULL值的列:
SELECT prod_name FROM products WHERE prod_price IS NULL;
注意:
- NULL 無值(no value):它與欄位包含0、空字串或僅僅包含空格不同,
- NULL與不匹配: 在通過過濾選擇出不具有特定值的行時,不能回傳具有NULL值的行,因為未知具有特殊的含義,資料庫不知道它們是否匹配,所以在匹配過濾或不匹配過濾時不回傳它們,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/541977.html
標籤:MySQL
