我将以下联接作为视图的一部分:
from studies
inner join orders on orders.orderId = studies.orderId
left outer join referrers on referrers.referrerId = orders.referrerId
left outer join professionalDegrees referrerDegree on referrerDegree.professionalDegreeId = referrers.professionalDegreeId
referrers.professionalDegreeId列为NOT NULL。在仅限于引用范围的查询中,对professionalDegrees的JOIN是INNER。
在上面的视图中,如果我在professionalDegrees上进行INNER JOIN,则不会返回orders.referrerId为NULL的行。当我在professionalDegrees上LEFT JOIN时,根据需要使用NULL referrerId返回行。
在这种情况下,INNER与LEFT对性能有关吗?有没有更好的方法来编写这个JOIN?