Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between left joins and right joins in mysql [duplicate]

Tags:

mysql

Possible Duplicate:
What is the difference between Left, Right, Outer and Inner Joins?

What is the difference between left joins and right joins in mysql

like image 217
satyam Avatar asked Dec 10 '10 09:12

satyam


People also ask

Does LEFT join allow duplicates?

Again, if we perform a left outer join where date = date, each row from Table 5 will join on to every matching row from Table 4. However, in this case, the join will result in 4 rows of duplicate dates in the joined DataSet (see Table 6).

What is the main difference between left join and right join?

The main difference between these joins is the inclusion of non-matched rows. The LEFT JOIN includes all records from the left side and matched rows from the right table, whereas RIGHT JOIN returns all rows from the right side and unmatched rows from the left table.

What is the difference between left join and right join in SQL?

Different Types of SQL JOINs 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.

Is Left join more efficient than right join?

The most substantial difference between the left and right outer join lies in the unmatched records that are obtained besides matched records. The left join takes all matching records and unmatched records of the left table while the right join takes all matching records and unmatched records of the right table.


2 Answers

The difference is in the way tables are joined if there are no common records.

JOIN is same as INNER JOIN and means to only show records common to both tables. Whether the records are common is determined by the fields in join clause. For example:

FROM t1
JOIN t2 on t1.ID = t2.ID

means show only records where the same ID value exists in both tables.

LEFT JOIN is same as LEFT OUTER JOIN and means to show all records from left table (i.e. the one that precedes in SQL statement) regardless of the existance of matching records in the right table.

RIGHT JOIN is same as RIGHT OUTER JOIN and means opposite of LEFT JOIN, i.e. shows all records from the second (right) table and only matching records from first (left) table.

like image 105
Chandresh M Avatar answered Oct 12 '22 23:10

Chandresh M


LEFT JOIN includes every row on the left, NULL filling the right as needed. RIGHT JOIN is the opposite.

like image 30
Matthew Flaschen Avatar answered Oct 12 '22 22:10

Matthew Flaschen