5.2 IN操作符
IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取一组由逗号分隔、括在圆括号中的合法值。下面的例子说明了这个操作符:
输入▼
SELECT prod_name, prod_priceFROM ProductsWHERE vend_id IN ( 'DLL01', 'BRS01' )ORDER BY prod_name;
输出▼
prod_name prod_price------------------- ----------12 inch teddy bear 8.990018 inch teddy bear 11.99008 inch teddy bear 5.9900Bird bean bag toy 3.4900Fish bean bag toy 3.4900Rabbit bean bag toy 3.4900Raggedy Ann 4.9900
分析▼
此SELECT语句检索由供应商DLL01和BRS01制造的所有产品。IN操作符后跟由逗号分隔的合法值,这些值必须括在圆括号中。
你可能会猜测IN操作符完成了与OR相同的功能,恭喜你猜对了!下面的SQL语句完成与上面的例子相同的工作:
输入▼
SELECT prod_name, prod_priceFROM ProductsWHERE vend_id = 'DLL01' OR vend_id = 'BRS01'ORDER BY prod_name;
输出▼
prod_name prod_price------------------- ----------12 inch teddy bear 8.990018 inch teddy bear 11.99008 inch teddy bear 5.9900Bird bean bag toy 3.4900Fish bean bag toy 3.4900Rabbit bean bag toy 3.4900Raggedy Ann 4.9900
为什么要使用IN操作符?其优点为:
- 在有很多合法选项时,
IN操作符的语法更清楚,更直观。 - 在与其他
AND和OR操作符组合使用IN时,求值顺序更容易管理。 IN操作符一般比一组OR操作符执行得更快(在上面这个合法选项很少的例子中,你看不出性能差异)。IN的最大优点是可以包含其他SELECT语句,能够更动态地建立WHERE子句。第11课会对此进行详细介绍。
IN
WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。
