Что такое LEFT JOIN в PostgreSQL - программирование
Подтвердить что ты не робот

Что такое LEFT JOIN в PostgreSQL

Я видел запрос с использованием LEFT JOIN, а не INNER или LEFT OUTER.

Что такое LEFT JOIN точно?

4b9b3361

Ответ 1

Если inner join возвращает только те записи, которые соответствуют в обеих таблицах, left join берет все записи из первой таблицы и все, что соответствует во второй таблице. A right join является обратным к left join (т.е. Все из второй таблицы)

Итак, если TableA

A B
1 a
2 b
3 c

и TableB

A B
1 d
2 e

Затем Select * from TableA inner join TableB on TableA.A = TableB.A возвращает

1 a 1 d
2 b 2 e

И Select * from TableA left join TableB on TableA.A = TableB.A возвращает

1 a 1 d
2 b 2 e
3 c null null  

Ответ 2

Это то же самое, что и LEFT OUTER (подразумевается OUTER, потому что INNER JOIN требует двустороннего соответствия, поэтому LEFT INNER JOIN не имеет смысла). То же самое относится к RIGHT JOIN и FULL JOIN, что эквивалентно RIGHT OUTER JOIN и FULL OUTER JOIN соответственно