5.排序檢索數據
5.1排序數據
ORDER BY
SELECT prod_name FROM products ORDER BYprod_name; //排序檢索
SELECT prod_id,prod_price,prod_name
FROM products ORDER BYprod_price,prod_name;//按多個列排序
5.2指定排序方向
DESC降序排序
SELECT prod_id,prod_price,prod_name FROMproducts ORDER BY prod_price DESC;//降序排序
SELECT prod_id,prod_price,prod_name FROMproducts ORDER BY prod_price DESC,prod_name;//多個列只有指定的列為降序
5.3ORDER BY與LIMIT的組合能找出最高或最低值
SELECT prod_price FROM products ORDER BYprod_price DESC LIMIT 1;//獲取最昂貴的價格
6.過濾數據
6.1使用WHERE子句
SELECT prod_name FROM products WHEREprod_price = 2.5;//只返回prod_price值為2.5的行
WHERE子句的位置:應該在ORDER BY之前
6.2WHERE子句操作符:
=,<>(不等於),!=(不等於), <,<=, >, >=, BETWEEN(在指定的兩個值之間)
SELECT prod_name,prod_price FROM productsWHERE prod_price BETWEEN 3 AND 10;
6.3空值檢查
在創建表時,表設計人員可以指定其中的列是否可以不包含值。在一個列不包含值時,稱其為包含空值NULL。IS NULL子句來檢查具有NULL值的列
輸入SELECT prod_name FROM products WHERE prod_price IS NULL;
輸出Empty set (0.00 sec) //說明價格必須非空
輸入mysql> SELECT cust_id FROM customers WHERE cust_email IS NULL;
輸出: +---------------+
| cust_id |
+---------------+
| 10002 |
| 10005 |
+---------------+
2 rows in set (0.01 sec)
說明cust_email列有空值的行,這些行對應的cust_id為10002和10005。
7.數據過濾