MySQL必知必會-第七章-數據過濾

1. AND操作符

# 檢索由供應商1003製造且價格小於等於10美元的所有產品
SELECT
	prod_id,
	prod_price,
	prod_name 
FROM
	products 
WHERE
	vend_id = 1003 
	AND prod_price <= 30;

2. OR操作符

# 檢索由1002或者1003供應商供應的產品
SELECT
	prod_id,
	prod_price,
	prod_name 
FROM
	products 
WHERE
	vend_id = 1002 
	OR vend_id = 1003;

3. 計算次序

# 檢索出vend_id爲1002或者1003 且 prod_price >= 10 的產品
SELECT
	prod_name,
	prod_price 
FROM
	products 
WHERE
	( vend_id = 1002 OR vend_id = 1003 ) 
	AND prod_price >= 10;
  • AND優先級大於OR,不加括號會使後面兩句結合起來
  • 括號優先級大於AND,會先計算括號內

4. IN操作符

SELECT
	prod_name,
	prod_price 
FROM
	products 
WHERE
	vend_id IN ( 1002, 1003 ) 
ORDER BY
	prod_name;
  • 在使用長的合法選項清單時,IN操作符的語法更清楚且更直觀
  • 在使用IN時,計算機的次序更容易管理(因爲使用的操作符更少)
  • IN操作符一般比OR操作符清單執行更快
  • IN的最大優點是可以包含其他SELECT語句,使得能夠更動態的簡歷WHERE子句

5. NOT操作符

# 列出除1002和1003之外的所有供應商製造的產品
SELECT
	prod_name,
	prod_price 
FROM
	products 
WHERE
	vend_id NOT IN ( 1002, 1003 ) 
ORDER BY
	prod_name;
  • NOT操作符有且只有一個功能,那就是否定他之後所跟的任何條件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章