SQL中IN和EXISTS用法的区别

 我来答
百度网友4d3212ddb5e
2016-09-23 · TA获得超过3575个赞
知道大有可为答主
回答量:2955
采纳率:93%
帮助的人:496万
展开全部
  EXISTS will tell you whether a query returned any results. eg: SELECT * FROM Orders o WHERE EXISTS ( SELECT * FROM Products p where p.ProductNumber = o.ProductNumber) IN is used to compare one value to several, and can use literal values, like this: SELECT * FROM Orders WHERE ProductNumber IN (1, 10, 100) You can also use query results with the IN clause, like this: SELECT * FROM Orders WHERE ProductNumber IN ( SELECT ProductNumber FROM Products WHERE ProductInventoryQuantity > 0) EXISTS is much faster than IN when the subquery results is very large. IN is faster than EXISTS when the subquery results is very small. https://social.msdn.microsoft.com/Forums/sqlserver/en-US/e52131e3-761e-4a11-b725-ae585ed1f115/difference-between-in-and-exists?forum=transactsql
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式