SQL Right Join
The SQL RIGHT JOIN, joins two tables and fetches rows based on a condition, which is matching in both the tables ( before and after the JOIN clause mentioned in the syntax below) , and the unmatched rows will also be available from the table written after the JOIN clause ( mentioned in the syntax below ).
Pictorial presentation of SQL Right Join:
SELECT * FROM table1 RIGHT [ OUTER ] JOIN table2 ON table1.column_name=table2.column_name;
SQL RIGHT join fetches a complete set of records from table2, i.e. the rightmost table after JOIN clause, with the matching records (depending on the availability) in table1. The result is NULL in the left side when no matching will take place.
Syntax diagram - SQL Right Join
Example of SQL Right Join or right outer join
Sample table: foods
Sample table: company
To get company ID, company name and company city columns from company table and company ID, item name columns from foods table, after an OUTER JOINING with these mentioned tables, the following SQL statement can be used:
SELECT company.company_id,company.company_name, company.company_city,foods.company_id,foods.item_name FROM company RIGHT JOIN foods ON company.company_id = foods.company_id;
This SQL statement would return all rows from the foods table and only those rows from the company table where the joined fields are equal and if the ON clause matches no records in the company table, the join will still return rows, but the NULL in each column of company table.
COMPANY_ID COMPANY_NAME COMPANY_CITY COMPANY_ID ITEM_NAME ---------- ------------------------- ------------------------- ---------- -------------- 18 Order All Boston 18 Jaffa Cakes 15 Jack Hill Ltd London 15 Pot Rice 15 Jack Hill Ltd London 15 BN Biscuit 15 Jack Hill Ltd London 15 Cheez-It 16 Akas Foods Delhi 16 Chex Mix 17 Foodies. London 17 Mighty Munch Salt n Shake
Outputs of the said SQL statement shown here is taken by using Oracle Database 10g Express Edition
Pictorial Presentation of the above example:
RIGHT JOIN: Relational Databases
Key points to remember
Click on the following to get the slides presentation -
Check out our 1000+ SQL Exercises with solution and explanation to improve your skills.
Previous: SQL LEFT JOIN
Next: SQL FULL OUTER JOIN
SQL: Tips of the Day
What is the most efficient/elegant way to parse a flat table into a tree?
WITH RECURSIVE MyTree AS ( SELECT * FROM MyTable WHERE ParentId IS NULL UNION ALL SELECT m.* FROM MyTABLE AS m JOIN MyTree AS t ON m.ParentId = t.Id ) SELECT * FROM MyTree;
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook