过滤
组合WHERE子句
为了进行更强的过滤控制,MySQL允许给出多个WHERE子句,以AND子句的方式或OR子句的方式使用
AND操作符
关键字AND用于添加多个过滤条件,每添加一条就要使用一个AND
语法结构
SELECT 列名
FROM 表格
WHERE 条件一 AND 条件二;
意义:筛选出即符合条件一并且符合条件二的数据
OR操作符
关键字OR也是用于添加过滤条件,每添加一条条件就需要使用一个OR
语法结构
SELECT 列名
FROM 表格
WHERE 条件一 OR 条件二;
意义:筛选出符合条件一或者符合条件二的数据
计算次序
在复合使用AND和OR时,需要注意,AND的优先级要高于OR,因此如果要正确的表达你所要表达的意思,一般配合括号**()**来使用。
IN操作符
IN操作符用来指定条件范围,范围中的每一个条件都可以进行匹配。IN取合法值得由逗号分隔的清单全部括在圆括号里.
语法结构
SELECT 列名
FROM 表格
WHERE 列名 IN (xx,XX);
IN(xx,XX)是等同于xx OR XX
那么为什么要是用IN而不是OR呐?
使用IN操作符的优势
- 在使用长的合法选项清单时,IN操作符的语法更加清楚,且更加直观
- 在使用IN时,计算的次序容易管理
- IN操作符一般比OR操作符清单执行更快
- IN的最大优点在于可以包含其他SELECT语句,是能够更动态地建立WHERE子句。
NOT操作符
NOT操作符用于对其他条件进行否定,因此NOT操作符要配合其他条件一起使用
语法结构
SELECT 列名
FROM 表格
WHERE 列名 NOT 条件;
MySQL中的NOT ,支持对IN、BETWEEN和EXISTS子句取反