Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a LEFT JOIN in PostgreSQL

Tags:

sql

postgresql

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

What is a LEFT JOIN exactly?

like image 582
Neil Middleton Avatar asked Jul 31 '12 11:07

Neil Middleton


People also ask

What is left join PostgreSQL?

The PostgreSQL LEFT JOIN returns all the rows of the table on the left side of the join and matching rows for the table on the right side of the join. The rows for which there is no matching row on the right side, the result-set will contain null. LEFT JOIN is also known as LEFT OUTER JOIN.

What is left join used for?

The LEFT JOIN command returns all rows from the left table, and the matching rows from the right table. The result is NULL from the right side, if there is no match.

What is left join join?

LEFT (OUTER) JOIN : Returns all records from the left table, and the matched records from the right table. RIGHT (OUTER) JOIN : Returns all records from the right table, and the matched records from the left table.

What are joins in PostgreSQL?

The PostgreSQL Joins clause is used to combine records from two or more tables in a database. A JOIN is a means for combining fields from two tables by using values common to each. Join Types in PostgreSQL are − The CROSS JOIN. The INNER JOIN.


1 Answers

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  
like image 53
podiluska Avatar answered Sep 29 '22 12:09

podiluska