如果我要联接两个表(而不是内部联接),则左表具有巨大的数据(数百万条记录),而右表具有很少的记录。我应该选择哪种(左或右外部联接)以及原因。
首先,联接与表的大小无关
好吧,我认为这取决于您要从“左侧”表还是“右侧”表中获取什么数据,让我们假设您有两个表,拥有数百万条记录的员工让我们将其放到右边,将拥有10条记录的部门放到左侧,现在每个员工都有一个部门。
员工
部门编号
部
部门编号
部门名称
现在假设您想知道哪个雇员属于哪个部门使用此查询。
Select e.empId,d.DepartmentName
from employee e
join department d
on e.departmentid=d.departmentid
现在假设您想知道哪个员工现在已经分配了任何部门,请使用以下查询
Select e.empId,d.DepartmentName
from employee e
left join department d
on e.departmentid=d.departmentid
where d.departmentid is null
现在假设您想知道有多少贬低的员工使用以下查询
Select d.[Department Name],COUNT(e.empID) from Employee e
left join Department d
on e.DepartmentId=d.DepartmentId
group by d.[Department Name]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句