MySQL允许给出多个where子句。这些子句可以用两种方式使用:以and子句的方式或or子句的方式使用。
–>操作符(operator) 用来联结或改变where子句中子句的关键字。也称为逻辑操作符。
and :用在where子句的关键字,用来指示检索满足所有给定条件的行。
or 操作符与and操作符不同,它指示MySQL检索匹配任一条件的行。
where可包含任意数目的and和or操作符。允许两者结合以进行复杂和高级的过滤。
在where子句中使用圆括号:任何时候使用具有and和or操作符的where子句,都应该使用圆括号明确地分组操作符。不用过分依赖默认计算次序,即使它确实是你想要的东西也是如此。使用圆括号也没有什么坏处,它能消除歧义(and的优先级比or的优先级要高)
圆括号在where子句中还有另外一种用法。in操作符用来指定条件范围,范围中的每个条件都可以进行匹配。in取合法值的由逗号分隔的清单,全部括在圆括号中。
–>in操作符完成与or相同的功能
使用in操作符的优点:
–>在使用长的合法选项清单时,in操作符的语法更清楚更直观
–>在使用in时,计算的次序更容易管理(因为使用的操作符更少)
–>in操作符一般比or操作符清单执行更快
–>in的最大优点是可以包含其他select语句,使得能够更动态地建立where子句。where子句中not操作符有且只有一个功能,那就是否定它之后所跟的任何条件。
–>not :where子句中用来否定后跟条件的关键字。
MySQL中not:MySQL支持使用not对in,between和exists子句取反,这与多数其他DBMS允许使用not对各种条件取反有很大的差别。