How To Write a Query with a Left Outer Join

Q

How To Write a Query with a Left Outer Join? - MySQL FAQs - SQL SELECT Statements with JOIN and Subqueries

✍: FYIcenter.com

A

If you want to query from two tables with a left outer join, you can use the LEFT OUTER JOIN ... ON clause in the FROM clause. The following query returns output with a left outer join from two tables: fyi_links and fyi_rates. The join condition is that the id in the fyi_links table equals to the id in the fyi_rates table:

mysql> SELECT l.id, l.url, r.comment FROM fyi_links l 
   LEFT OUTER JOIN fyi_rates r ON l.id = r.id;
+-----+-------------------+-----------+
| id  | url               | comment   |
+-----+-------------------+-----------+
| 101 | dev.fyicenter.com | The best  |
| 102 | dba.fyicenter.com | Well done |
| 103 | sqa.fyicenter.com | Thumbs up |
| 104 | www.mysql.com     | NULL      |
| 105 | www.oracle.com    | NULL      |
| 106 | www.php.net       | NULL      |
| 107 | www.winrunner.com | NULL      |
+-----+-------------------+-----------+
7 rows in set (0.43 sec)

Note that a left outer join may return extra rows from the first (left) table that do not satisfy the join condition. In those extra rows, columns from the second (right) table will be given null values.

The extra rows returned from the left outer join in this example represents links that have no rates.

2007-05-11, 4719👍, 0💬