Neil Middleton
Neil Middleton

Reputation: 22238

What is a LEFT JOIN in PostgreSQL

I've seen a query using a LEFT JOIN as opposed to an INNER or LEFT OUTER.

What is a LEFT JOIN exactly?

Upvotes: 17

Views: 33168

Answers (2)

podiluska
podiluska

Reputation: 51494

Where an inner join returns only entries that match in both tables, a left join takes all the entries from first table and any that match in the second table. A right join is the reverse of a left join (ie: all from the second table)

So if TableA is

A B
1 a
2 b
3 c

and TableB is

A B
1 d
2 e

Then Select * from TableA inner join TableB on TableA.A = TableB.A returns

1 a 1 d
2 b 2 e

And Select * from TableA left join TableB on TableA.A = TableB.A returns

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

Upvotes: 36

GarethD
GarethD

Reputation: 69759

It is the same as LEFT OUTER (The OUTER is implied because an INNER JOIN requires bilateral matching so a LEFT INNER JOIN would make no sense). The same applies for RIGHT JOIN and FULL JOIN these are equivalent to RIGHT OUTER JOIN and FULL OUTER JOIN respectively

Upvotes: 9

Related Questions