- AND操作符
用在WHERE子句中,用来指示检索满足所有给定条件的行。
例:
SELECT prod_id,prod_price,prod_name
FROM Products
WHERE vend_id = 'DLL01' AND prod_price<= 4;
- OR操作符
用在WHERE子句中,用来表示检索匹配任一给定条件的行。
例:
SELECT prod_id,prod_price,prod_name
FROM Products
WHERE vend_id = 'DLL01' OR vend_id = 'BRS01' ;
- 圆括号
SQL在处理OR操作符前,优先处理AND操作符。圆括号具有较AND操作符或OR操作符更高的计算次序。
任何时候使用具有AND操作符和OR操作符的WHERE子句,都应该使用圆括号明确地分组操作符。不要过分依赖默认计算次序,即使它确实是想要的顺序。
例:
SELECT prod_name,prod_price
FROM Products
WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01')
AND prod_price >=10;
- IN操作符
IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN操作符完成的是和OR相同的功能。
IN操作符的优点:
- 在使用长的合法选项清单时,IN操作符的语法更清楚且更直观;
- 在使用IN时,计算的次序更容易管理;
- IN操作符一般比OR操作符清单执行更快;
- IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
SELECT prod_name,prod_price
FROM Products
WHERE vend_id IN('DLL01','BRS01')
ORDER BY prod_name;
- NOT操作符
NOT操作符只有一个功能,就是否定它之后所跟的任何条件。
在简单的WHERE子句中,使用NOT确实没有什么优势,但在更复杂的句子中,NOT是非常有用的,例如,在IN操作符联合使用的时候,NOT使找出与条件列表不匹配的行非常有效。MySQL中,NOT多用于否定EXISTS,其他的如果要使用,查阅相关手册。