前提:使用《MySql006——检索数据:基础select语句》中创建的products表
一、AND操作符
通过AND操作符可以拼接多个过滤条件,表示且
SELECT
vend_id, prod_name, prod_price
FROM
study.products
WHERE
vend_id = 1001 AND prod_price > 3;
二、OR操作符
通过OR操作符可以拼接多个过滤条件,表示或
SELECT
vend_id, prod_name, prod_price
FROM
study.products
WHERE
vend_id = 1001 OR vend_id = 1003;
三、AND和OR运行的先后顺序说明
3.1、抛出问题
需求:列出价格为10美元(含)以上且由1002或1003制造的所有产品
分析:当SQL看到上述WHERE子句时,它理解为由供应商1003制造的任何价格为10(含)以上的产品,或者由供应商1002制造的任何产品,而不管其价格如何。
即,这里会先执行AND条件然后再执行OR条件
3.2、解决
使用圆括号
3.3、结论
SQL(像多数语言一样):
1、最先处理圆括号
2、优先处理AND操作符,再处理OR操作符。
三、IN操作符
判断IN前的字段值是不是在圆括号中这个集合中,如果在则满足条件
IN操作符完成与OR相同的功能,所有上面也可以写成:
四、NOT操作符
判断NOT前的字段值是不是在圆括号中这个集合中,如果在则不输出