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 ;
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 ;
FROM table1
JOIN table2
ON table1.column_name = table2.column_name ;
Note: INNER JOIN et JOIN est le même.
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;
à 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.