如果有3张桌子,我希望将所有桌子等同加入。
示例陈述1 :(表1 EQUIJOIN表2)EQUIJOIN表_3
示例陈述2 :(表2 EQUIJOIN表_3)EQUIJOIN表1
当这些陈述单独执行时,两个陈述的输出是否相同?
答案 0 :(得分:1)
是。 Equijoins具有联想性和可交换性。表的排序无关紧要。每个表中条件的排序不会。
您可以对此进行可视化,因为等连接是所有表的笛卡尔积的子集。然后连接将其过滤掉,并且过滤器的顺序无关紧要 - 如果任何过滤器中没有行,则过滤器的顺序无关紧要。
答案 1 :(得分:1)
Equi Join只是INNER JOIN
的特例,其中所有比较都是相等的。由于INNER JOIN
是关联的和可交换的,因此Equi Join也必须是。请参阅Does the join order matter in SQL?和Proof that Inner Join is Commutative。