WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

SQL RIGHT JOIN Keyword


SQL RIGHT JOIN keyword

RIGHT JOIN keyword returns all rows from the right table (table2), even if there is no match in the left table (table1). If there is no match in the left table, the result is NULL.

SQL RIGHT JOIN syntax

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;

or:

SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;

Note: In some databases, RIGHT JOIN is called RIGHT OUTER JOIN.

SQL RIGHT JOIN


Demo database

In this tutorial, we will use the welookups sample database.

Here is the data from the "Websites" table:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/| 1     | USA     |
| 2  | indiamart          | https://www.indiamart.com/| 13    | IN      |
| 3  | zomato      | http://www.zomato.com/| 4689  | IN      |
| 4  | Indiatimes          | http://Indiatimes.com/    | 20    | IN      |
| 5  | Facebook     | https://www.facebook.com/| 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/|   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Here is the data for the "access_log" site visit log:

mysql> SELECT * FROM access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)


SQL RIGHT JOIN example

The following SQL statement returns a visit to the website.

In the following example, we use access_log as the left table and Websites as the right table:

Example

SELECT Websites.name, access_log.count, access_log.date FROM access_log RIGHT JOIN Websites ON access_log.site_id=Websites.id ORDER BY access_log.count DESC;

The output of executing the above SQL is as follows:

Note: The RIGHT JOIN keyword returns all rows from the right table (Websites), even if there is no match in the left table (access_log).