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
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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.