SQL RIGHT JOIN Keyword
As the name suggests the SQL right join displays all the records from the right side table and all the matching records from the left side table. Let’s take a look at the syntax.
SELECT column/columns FROM table_left RIGHT JOIN table_right ON table_left.column= table_right.column;
As you can see in the syntax above, the query will show all the records from the table on the right side (table_right) and also the matched records form the table on the left side (table_left).
Let’s take a look at the example:
SELECT country.Region, countrylanguage.Language, country.Name, country.Code FROM country RIGHT JOIN countrylanguage ON country.Code=countrylanguage.CountryCode ORDER BY Code LIMIT 10;
It’s the same example form LEFT join article. The only difference is the RIGHT join keyword.
In the example above, I am selecting the columns Region, Name and Code from country table and Language from countrylanguage table. As I’ve discussed before the table on the right side will have it’s all records pulled up and displayed, which in this example, is countrylanguage table. Then the query watches out for the similar records in both the tables and then displays those records from the tables.
If the records are exactly matching from all the columns requested then it will only display single entry otherwise there will be multiple lines of display. For example, let’s say the language is different for matching records for AFG country code. Then it will create a row with all the records form left column and then create one more row for the matching records with entries from the right table.
I’ve set the LIMIT 10 as both of tables have approx. 100 lines of records.