Easy Tutorial
❮ Sql Join Inner Sql Func Lcase ❯

SQL FULL OUTER JOIN Keyword


SQL FULL OUTER JOIN Keyword

The FULL OUTER JOIN keyword returns rows when there is a match in either the left table (table1) or the right table (table2).

The FULL OUTER JOIN keyword combines the results of both LEFT JOIN and RIGHT JOIN.

SQL FULL OUTER JOIN Syntax



Demo Database

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

Below is the data 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  | tutorialpro.org      | http://www.tutorialpro.org/    | 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 the data from the "access_log" website access record table:

+-----+---------+-------+------------+
| 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 FULL OUTER JOIN Example

The following SQL statement selects all website access records.

MySQL does not support FULL OUTER JOIN, you can test the following example in SQL Server.

Example

SELECT Websites.name, access_log.count, access_log.date
    FROM Websites

    FULL OUTER JOIN access_log
    ON Websites.id=access_log.site_id
    ORDER BY access_log.count DESC;

Note: The FULL OUTER JOIN keyword returns all rows from the left table (Websites) and the right table (access_log). If there is no match in the "Websites" table for a row in the "access_log" table or no match in the "access_log" table for a row in the "Websites" table, those rows will also be listed.

❮ Sql Join Inner Sql Func Lcase ❯