sql - '=' 和 In 之间有区别吗?

标签 sql sql-server

编写此请求是否有任何差异(性能):

Select * from T where PK = 1

或这个
Select * from T where PK in (1)

我不相信,但我真的不知道如何表达应该维护我的感觉的执行计划。

提前谢谢

最佳答案

在你的情况下:没有区别

一般来说:你可以写一个子选择或在大括号内,和 =如果该子选择返回超过 1 行,则将失败。另外,你可以写 (1,2) (这就像一个返回 2 行的子选择),其中 =也不可能。

关于sql - '=' 和 In 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602766/

相关文章:

sql - 来自未嵌套复合类型数组和常规列的组合 SELECT

sql - 是否可以在 SQL PIVOT 中使用动态创建的值?

php - mysql用户订阅查询失败

mysql - SELECT 子句中的 SQL 函数计数(以百分比说明)

sql - 存储具有可变列数的大型 SQL 数据集

SQL Server 快照隔离级别问题

mysql - 如果记录中的两列相等,则返回 "true"?

创建外键的 SQL Compact (CE) 问题

sql-server - SSAS 的可编程性如何?

sql-server - 缩小非常大的表上的数据类型