我有两个包含任务和注释的表格,并且想要检索每个任务的相关注释数量的任务列表。这两个查询做的工作:Transact-SQL - 子查询或左连接?
select t.TaskId, (select count(n.TaskNoteId) from TaskNote n where n.TaskId = t.TaskId) 'Notes' from Task t -- or select t.TaskId, count(n.TaskNoteId) 'Notes' from Task t left join TaskNote n on t.TaskId = n.TaskId group by t.TaskId
他们之间有一个区别,我应该使用了另一种,或者是他们做同样的工作的只有两个方法呢?谢谢。
同上内部连接 - 我已经看到这对大集合有很大的影响(假设这是你想要的正确行为,并且你可能需要使用ISNULL()或类似的函数) – 2008-09-22 22:31:01