Easy Tutorial
❮ Sql Where Sql Func Round ❯

SQL JOIN

SQL join is used to combine rows from two or more tables.

The diagram below shows 7 different types of joins related to LEFT JOIN, RIGHT JOIN, INNER JOIN, and OUTER JOIN.


SQL JOIN

The SQL JOIN clause is used to combine rows from two or more tables based on a related column between them.

The most common type of JOIN is SQL INNER JOIN (simple JOIN). SQL INNER JOIN returns all rows from multiple tables where the join condition is met.

Syntax:

SELECT column1, column2, ...
FROM table1
JOIN table2 ON condition;

Parameter Description:

Demonstration Database

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

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 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 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)

Note that the "id" column in the "Websites" table points to the "site_id" field in the "access_log" table. These two tables are linked through the "site_id" column.

Then, if we run the following SQL statement (including INNER JOIN):

SELECT Websites.id, Websites.name, access_log.count, access_log.date 
FROM Websites 
INNER JOIN access_log 
ON Websites.id=access_log.site_id;

The SQL output for the above query is as follows:


Different SQL JOINs

Before we proceed with the examples, here are the different types of SQL JOINs you can use:

❮ Sql Where Sql Func Round ❯