Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Les jointures en MySQL

Par Mathieu ROSSETTO Publié le 17/10/2018 à 23:40:19 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

MySQL est un système de gestion de bases de données relationnelles. C’est également un moteur très puissant qui permet de gérer plusieurs tables en même temps, c’est là que les jointures interviennent. Cet article va vous présenter les notions de jointures en MySQL.

Définition

Qu’est-ce qu’une jointure ?

Une jointure est un moyen de regrouper plusieurs tables d’une ou plusieurs bases de données en même temps afin d’analyser des données. Elles peuvent s’utiliser pour faire des Select, des Insert, des Update, des Delete, etc.

Fonctionnement

Pour joindre 2 tables entre elles, il faut y préciser sur quelle colonne on souhaite joindre les données. Ces deux colonnes doivent donc avoir des points communs.

Prenons un exemple. Voici 2 tables.

Quel est point commun entre ces 2 tables ? Evidemment, c’est le champ id de la table joueur AVEC le champ idJoueur de la table Scores.

Evidemment, c’est le champ id de la table joueur AVEC le champ idJoueur de la table Scores.

Left Join

Lorsqu’on faut un left join, entre ces 2 tables, on prend les éléments de la table A, et les éléments qui font partie à la fois de la table A et à la fois de la table B.
Considérons que la table A est Joueurs et que la table B est Scores

Un left join entre ces 2 tables va donc donner :

SELECT NomDuJoueur FROM Joueurs LEFT JOIN Scores ON Joueurs.id = Scores.idJoueur ;

En sélectionnant le champ NomDuJoueur, voici ce que l’on obtient:

Right Join

C’est le même principe qu’avec Left Join, sauf qu’on prend les éléments de la table B et ceux qui sont communs aux 2 tables.

SELECT NomDuJoueur FROM Joueurs RIGHT JOIN Scores ON Joueurs.id = Scores.idJoueur ;

En sélectionnant le champ NomDuJoueur, voici ce que l’on obtient:

Inner Join

Lorsqu’on fait un Inner Join, on ne prend que les éléments faisant partie à la fois de la table A et à la fois de la table B.

SELECT nomDuJoueur FROM Joueurs INNER JOIN Scores ON Joueurs.id = Scores.idJoueur ;

En sélectionnant le champ NomDuJoueur, voici ce que l’on obtient:

Full Join

Lorsqu’on fait un Full Join, on prend les éléments faisant partie de la table A, de la table B et qui font partie à la fois des 2 tables en même temps.

Pour éviter les répétitions, on écrit SELECT DISTINCT au lieu de SELECT dans la requête.

Voici donc ce que donne:

SELECT DISTINCT NomDuJoueur FROM Joueurs FULL JOIN Scores ON Joueurs.id = Scores.idJoueur ;
A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels