Правое соединение против левого соединения, какой стол слева против правого? - PullRequest
0 голосов
/ 15 апреля 2020

Дано

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

- это таблица a слева и таблица b справа?

Будет ли это эквивалентно

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

, потому что я переключил left и right при переключении предложения ON? Или a все еще left, потому что он появился первым, а b - это right, потому что это то, к чему мы присоединяемся?

Спасибо.

1 Ответ

2 голосов
/ 15 апреля 2020

Нет. «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

Они не влияют на результаты вообще.

...