哪个SQL 快

wufongming 2015-02-15 10:11:56
1. --------------------------------------------------------------------------
select v.*
,(CASE WHEN prt.ReportNum <> 0 THEN '是' ELSE '否' END) AS '是否打印'

from v
LEFT JOIN Stuff_IN prt
ON prt.In_ID = v.入库编号

2. --------------------------------------------------------------------------
select v.*
, prt.[是否打印]
from v
LEFT JOIN (SELECT IN_ID, (CASE WHEN ReportNum <> 0 THEN ''是'' ELSE ''否'' END) AS ''是否打印'' FROM Stuff_IN) prt
ON prt.In_ID = v.入库编号

1, 2 哪个快。 
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2015-02-15
  • 打赏
  • 举报
回复
写法1应该会快一点,但相差不大.
LongRui888 2015-02-15
  • 打赏
  • 举报
回复
这个不一定,的看实际的执行计划。
C_B_Lu 2015-02-15
  • 打赏
  • 举报
回复
引用 2 楼 ap0405140 的回复:
写法1应该会快一点,但相差不大.
因为第一种写法在进行case when操作的数据集较少,所以应该快点

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧