回答

收藏

Transact-SQL-子查询还是左联?

技术问答 技术问答 216 人阅读 | 0 人回复 | 2023-09-14

我有两个表,包括任务和注释,我想检索任务列表和每个任务的相关注释数。这两个查询可以完成任务:4 ^, b( h: P4 J! ]) d( O1 @
select t.TaskId,      (select count(n.TaskNoteId) from TaskNote n where n.TaskId = t.TaskId) 'Notes'from   Task t-- orselect t.TaskId,      count(n.TaskNoteId) 'Notes'from   Task tleft join       TaskNote non     t.TaskId = n.TaskIdgroup by t.TaskId它们有区别吗?我应该用一个以上的另一个,还是他们只是两种完成同一份工作的方式?谢谢你。
$ [% S- ~' e4 }* y1 S                                                                ) m6 I- ^0 f% _3 n0 W1 H4 W
    解决方案:                                                                - \. j- t% J! @: A
                                                                在小数据集中,当涉及到性能时,它们将被淘汰。LOJ会好一些。
/ V! E8 S2 y' T# R2 f) a我发现内部连接(内部连接也会在大型数据集中发挥作用)在很大的因素(对不起,没有数字)方面优于子查询。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则