Latest web development tutorials

SQL INNER JOIN mots-clés

SQL INNER JOIN mots-clés

INNER JOIN lignes de retour par mot-clé lorsque la présence d'au moins un match dans le tableau.

SQL INNER JOIN syntaxe

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

Ou:

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

Note: INNER JOIN et JOIN est le même.

SQL INNER JOIN


La base de données de démonstration

Dans ce tutoriel, nous allons utiliser la base de données de l'échantillon w3big.

Ce qui suit est un «Sites Web» sélectionnés de données de la table:

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

Voici les données "access_log" table d'enregistrement d'accès du site:

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)

Des exemples de SQL INNER JOIN

L'instruction SQL suivante retourne tous les sites web d'accès aux dossiers:

Exemples

SELECT Websites.name, access_log.count, access_log.date
à partir de sites internet
INNER JOIN access_log
ON Websites.id = access_log.site_id
ORDER BY access_log.count;

Exécutez le SQL ci-dessus des résultats de sortie sont les suivantes:

Remarque: INNER JOIN lignes de retour par mot - clé lorsque la présence d'au moins un match dans le tableau. Si le "Sites" ligne de table "access_log" ne correspond pas, ces lignes ne seront pas inscrits.