sql – WHERE x IN(5)vs WHERE x = 5 …为什么要使用IN?

前端之家收集整理的这篇文章主要介绍了sql – WHERE x IN(5)vs WHERE x = 5 …为什么要使用IN?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近注意到的一些事情是使用IN的人似乎不合适.我觉得我错过了一个技巧 – 也许有速度提升或什么?

这个查询

SELECT * FROM pages WHERE is_visible IN ($visibility)

为什么要用它?为什么不:

SELECT * FROM pages WHERE is_visible = $visibility

当然,如果是这样的话:

SELECT * FROM pages WHERE is_visible 
IN ($visibility,$invisibility,$somethingelse)

那么WHERE x IN(1,2,3)是WHERE x = 1 OR x = 2 OR x = 3的更好的替代品,对吧?但肯定这是你应该使用IN的唯一场景吗?

无论如何,谢谢你的时间 – 我期待你的回复

解决方法

这里没有提高性能的技巧,但我认为也没有任何性能影响.所以两种方式都可以.我同意你的看法,只使用一个参数的IN子句看起来很有趣,但它仍然很容易遵循.

我认为这可能是因为开发人员认为未来可能允许多个值(这样查询不会被更改).或者可能开发人员习惯于可能存在多个值的场景,他们只是习惯性地编写它.

原文链接:https://www.f2er.com/mssql/76565.html

猜你在找的MsSQL相关文章