[MYSQL -7]資料過濾

VictorLeeLk發表於2017-09-15
  • 組合WHERE子句建立功能更強的的更高階的搜尋條件
  • 操作符:用來聯結或改變WHERE子句中的子句的關鍵字。也稱為邏輯操作符。
  • 組合WHERE子句
    MYSQL允許給出多個WHERE子句,兩種方式可以使用:以AND子句的方式或者OR子句的方式使用。
#價格小於等於10,並且vend_id為1001的資料
SELECT prod_id,prod_name,prod_price FROM products WHERE prod_price <=10 AND vend_id=1001;
  • 計算次序
#產品價格大於等於10,並且產品編號為1002或者為1003。返回的結果按價格從高到低排序。
SELECT prod_id,prod_name,prod_price FROM products WHERE (vend_id=1002 OR vend_id =1003) AND prod_price>=10 ORDER BY prod_price DESC;
  • IN 操作符
SELECT prod_id,prod_name,prod_price FROM products WHERE vend_id IN (1002,1003) AND prod_price <=10;
SELECT prod_id,prod_name,prod_price FROM products WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;

IN操作符實現的功能和OR具有相同的功能更。但是IN操作符有很多優點。如下:
- 使用長的合法選項時,IN操作符的語法更清楚,更加簡潔
- 使用IN時候,計算的次序更容易管理(使用的操作符更少)
- IN操作符比OR操作符執行速度更快
- IN的最大優點是可以包含其他SELECT 語句,使得更加動態的建立WHERE子句。

相關文章