SQL-IN子句与小于列表的等于运算符

Paw*_*iya 0 sql sql-server-2008

哪个应该是首选和有效的方式?

where @TeamId in (Team1Id, Team2Id)
Run Code Online (Sandbox Code Playgroud)

要么

where @TeamId=Team1Id or @TeamId=Team2Id
Run Code Online (Sandbox Code Playgroud)

我正在使用sql server 2008.

编辑

当我检查执行计划时,两个查询都显示它们正在使用索引和相同的执行计划.

mr_*_*air 5

两者都是相同的SQL服务器转换它

where @TeamId in (Team1Id, Team2Id)
Run Code Online (Sandbox Code Playgroud)

where @TeamId=Team1Id or @TeamId=Team2Id
Run Code Online (Sandbox Code Playgroud)

编写IN比较OR更好,更易读.