圆括号在WHERE子句中还有另外一种用法。IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取合法值的由逗号分隔的清单,全都括在圆括号中。下面的例子说明了这个操作符:
SELECT prod_name,prod_price FROM products WHERE vend_id IN(1002,1003) ORDER BY prod_name;
prod_name | prod_ price |
---|---|
Bird seed Carrots Detonator Fuses 0il can Safe Sling TNT (1 stick) TNT(5 sticks) |
10.00 2.50 13.00 3.42 8.99 50.00 4.49 2.50 10.00 |
此SELECT语句检索供应商1002和1003制造的所有产品。IN操作符后跟由逗号分隔的合法值清单,整个清单必须括在圆括号中
如果你认为IN操作符完成与OR相同的功能,那么你的这种猜测是对的。下面的SQL语句完成与上面的例子相同的工作:
SELECT prod_name,prod_price FROM products WHERE vend_id =1002 OR vend_id=1003 ORDER BY prod_name;
prod_name | prod_ price |
---|---|
Bird seed Carrots Detonator Fuses 0il can Safe Sling TNT(1 stick) TNT (5 sticks) |
10.00 2.50 13.00 3.42 8.99 50.00 4.49 2.50 10.00 |
为什么要使用IN操作符?其优点具体如下。
在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。
在使用IN时,计算的次序更容易管理(因为使用的操作符更少) 。
IN操作符一般比OR操作符清单执行更快。
IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。
转载请注明:成都千喜数据恢复中心 » SQL Server如何使用WHERE组合IN操作符