右连接 vs 左连接,table 是左还是右?

Right join vs left join, which table is left vs right?

给定

select * 
from a
left join b
on a.id = b.id

是tablea左,tableb右?

是否等同于

Select *
from a
right join b
on b.id = a.id

因为我在翻转 ON 子句时切换了 leftright?或者 a 仍然是 left 因为它先出现而 bright 因为这是我们要加入的东西?

谢谢。

没有。 "left" 和 "right" 指的是 FROM 子句中表的顺序。所以这些是等价的:

select * 
from a left join
     b
     on a.id = b.id

select * 
from b right join
     a
     on a.id = b.id

这两个 on 子句做同样的事情:

on a.id = b.id
on b.id = a.id

它们根本不会影响结果。