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操作符有且只有一个功能,那就是否定他之后所跟的任何条件

你可能感兴趣的:(MySQL)