Sql Join Right
RIGHT JOIN is a join keyword in SQL used to retrieve data from multiple tables.
Similar to LEFT JOIN, but with opposite behavior: RIGHT JOIN returns all records from the right table, even if there are no matching records in the left table.
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 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.
* **table1**: the left table.
* **table2**: the right table; `RIGHT JOIN` preserves all records from this table.
* **ON table1.column_name=table2.column_name**: specifies the join condition, typically a common field between the two tables.
 VALUES ('10', '6', '111', '2016-03-09');
Below is data selected from the "Websites" table:
+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | Taobao | https://www.taobao.com/ | 13 | CN || 3 | | | 4689 | CN || 4 | Weibo | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA || 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |+----+---------------+---------------------------+-------+---------+
Below is data from the "access_log" website access log 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 returns website access records.
In the example below, we treat 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 yields 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).
YouTip