I've seen a query using a LEFT JOIN
as opposed to an INNER
or LEFT OUTER
.
What is a LEFT JOIN
exactly?
I've seen a query using a LEFT JOIN
as opposed to an INNER
or LEFT OUTER
.
What is a LEFT JOIN
exactly?
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