sql-server - SQL Server 中的 in 子句如何工作

标签 sql-server database

我想知道数据库中 IN 子句的比较是如何工作的。在这种情况下,我对 SQL Server 和 Oracle 很感兴趣。

我想到了两种比较模型——二分查找和散列。谁能告诉我 SQL Server 遵循什么方法。

最佳答案

SQL Server 的 IN 子句基本上是更冗长的 WHERE 子句的简写。

...WHERE 列 IN (1,2,3,4)

的简写
...WHERE Column = 1
OR Column = 2
OR column = 3
OR column = 4

据我所知,没有应用其他与标准 WHERE 子句不同的逻辑。

关于sql-server - SQL Server 中的 in 子句如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5082463/

相关文章:

sql - 如何加快聚集列的大规模更新?

sql-server - 从 SYSDATETIMEOFFSET() 获取 OffSet 部分

sql-server - 如何在 SQL Server 中将 bool 字段从可为 null 的列中删除?

sql - (子)类别的表和 Ruby ActiveRecord 类设计

php - SQLSTATE [23000] : Integrity constraint violation: 1062 Duplicate entry in Symfony 4

database - 使用迁移的好处

sql - 如何查找截至分钟的日期时间的最新行?

sql-server - 关于已弃用的功能(多于两部分的列名称)

c# - 使用 Fluent NHibernate 的非主键身份自动增量映射

mysql - 从数据库中提取数字序列