Tôi có hai bảng chứa Tác vụ và Ghi chú và muốn truy xuất danh sách tác vụ với số lượng ghi chú được liên kết cho từng ghi chú. Hai truy vấn này thực hiện công việc:Giao dịch-SQL - truy vấn phụ hoặc tham gia bên trái?
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
Có sự khác biệt nào giữa chúng và tôi nên sử dụng cái kia hay chỉ là hai cách làm cùng một công việc? Cảm ơn.
ditto về tham gia bên trong - Tôi đã thấy rằng tạo sự khác biệt lớn trên tập hợp lớn (giả sử đó là hành vi chính xác bạn muốn và bạn có thể cần sử dụng hàm ISNULL() hoặc hàm tương tự) –