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