Utilisez l'instruction SQL JOIN pour combiner des lignes de deux tables ou plus

Créez d'abord un tableau :

Créer un tableau appelé sites Web

CREATE TABLE websites
(
id int,
name varchar(255),
url varchar(255),
alexa varchar(255),
country varchar(255)
);

Insérez-y ensuite des données (quatre lignes de nouvelles données sont insérées):

insert into websites (id, name, url, alexa, country) values (1, 'Google', 'google.cm', 1, 'USA');
insert into websites (id, name, url, alexa, country) values (2, '淘宝', 'taobao.com', 13, 'CN');
insert into websites (id, name, url, alexa, country) values (3, '菜鸟教程', 'runoob.com', 4689, 'CN');
insert into websites (id, name, url, alexa, country) values (4, '微博', 'weibo.com', 20, 'CN');

Créez une autre table :

Créez une table appelée access_logs :

CREATE TABLE access_logs
( 
aid int,
site_id int,
count int,
date varchar(255)
);

Insérez également quelques données pour lui :

INSERT INTO access_logs (aid, site_id, count, date) VALUES (1, 1, 100, '2023-07-20');
INSERT INTO access_logs (aid, site_id, count, date) VALUES (2, 3, 100, '2023-07-20');
INSERT INTO access_logs (aid, site_id, count, date) VALUES (3, 1, 230, '2023-07-19');
INSERT INTO access_logs (aid, site_id, count, date) VALUES (4, 2, 10, '2023-07-19');

Notez que la colonne « id » de la table « Sites Web » pointe vers le champ « site_id » dans la table « access_log » . Les deux tables ci-dessus sont liées par la colonne "site_id"

La clause SQL JOIN est utilisée pour joindre des lignes de deux tables ou plus en fonction de champs communs entre ces tables.

Le type de JOIN le plus courant : SQL INNER JOIN (simple JOIN) . SQL INNER JOIN renvoie toutes les lignes de plusieurs tables qui satisfont la condition JOIN.

grammaire:

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

Description du paramètre :

  • colonne1, colonne2, ... : Les noms des champs à sélectionner, qui peuvent être plusieurs champs. Si aucun nom de champ n'est spécifié, tous les champs seront sélectionnés.
  • table1 : La première table à rejoindre.
  • table2 : La deuxième table à rejoindre.
  • condition : Condition de connexion, utilisée pour spécifier la méthode de connexion.

Ensuite, si nous exécutons l'instruction SQL suivante (avec 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;

L'exécution des résultats de sortie SQL ci-dessus est la suivante : 

 

おすすめ

転載: blog.csdn.net/Toml_/article/details/131832000