How To Write a Query with a Right Outer Join

Q

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

✍: FYIcenter.com

A

If you want to query from two tables with a right outer join, you can use the RIGHT OUTER JOIN ... ON clause in the FROM clause. The following query returns output with a right 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 
   RIGHT 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 |
| NULL | NULL              | Number 1  |
| NULL | NULL              | Not bad   |
| NULL | NULL              | Good job  |
| NULL | NULL              | Nice tool |
+------+-------------------+-----------+
7 rows in set (0.00 sec)

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

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

2007-05-11, 4886👍, 0💬