Easy Tutorial
❮ Sql Func Sum Func Curdate ❯

SQL RIGHT JOIN Keyword


SQL RIGHT JOIN Keyword

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

SQL RIGHT JOIN Syntax

Or:

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


Demonstration Database

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

Before proceeding, add a record to the access_log table, which does not have a corresponding record in the Websites table:

INSERT INTO `access_log` (`aid`, `site_id`, `count`, `date`) VALUES ('10', '6', '111', '2016-03-09');

Below are the data from the "Websites" table:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | tutorialpro.org      | http://www.tutorialpro.org/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Below are the data from the "access_log" website access record table:

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 |
|  10 |       6 |   111 | 2016-03-19 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)

SQL RIGHT JOIN Example

The following SQL statement will return the access records of the websites.

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

Example

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

Executing the above SQL will produce the following output: Note: The RIGHT JOIN keyword returns all rows from the right table (access_log), even if there are no matches in the left table (Websites).

❮ Sql Func Sum Func Curdate ❯