相关疑难解决方法(0)

sals语句与equals vs in

假设有人来找你,并说我们将通过替换等于减少我们编写的SQL数量IN.单用标量值和数字列表都可以使用.

SELECT * 
  FROM table 
 WHERE id = 1
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * 
  FROM table 
 WHERE id IN (1)
Run Code Online (Sandbox Code Playgroud)

这些语句是否等同于优化程序生成的语句?

从表面上看,这看起来非常简单,但由于两个原因导致简化:1.不需要复制大块SQL,以及2.我们不会过度使用动态SQL.

这是一个人为的例子,但请考虑以下内容.

select a.* from tablea a 
join tableb b on a.id = b.id
join tablec c on b.id2 = c.id2
left join tabled d on c.id3 = c.id3
where d.type = 1
Run Code Online (Sandbox Code Playgroud)

......对于不止一个案例,也是如此

select a.* from tablea a 
join tableb b on a.id = b.id
join tablec c on b.id2 = c.id2
left join tabled d on c.id3 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

35
推荐指数
2
解决办法
2万
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1