右连接 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
子句时切换了 left
和 right
?或者 a
仍然是 left
因为它先出现而 b
是 right
因为这是我们要加入的东西?
谢谢。
没有。 "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
它们根本不会影响结果。
给定
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
子句时切换了 left
和 right
?或者 a
仍然是 left
因为它先出现而 b
是 right
因为这是我们要加入的东西?
谢谢。
没有。 "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
它们根本不会影响结果。