Types de jointures MySQL | MySQL se joint [avec la syntaxe]
Publié: 2020-12-09Table des matières
introduction
MySQL est un système de gestion de base de données relationnelle (RDBMS) open source soutenu par Oracle. MySQL est composé de deux mots : "My", le nom de la fille du co-fondateur Michael Widenius, et "SQL", l'abréviation de Structured Query Language.
Le mot Relationnel dans RDBMS est le fondamental sur lequel JOINS dans MySQLwork. Il peut y avoir plusieurs types et nombres de tables dans n'importe quelle base de données. JOINS, comme son nom l'indique, relie les tables en utilisant des colonnes communes. Un exemple de base est que le tableau 1 contient les détails des employés et le tableau 2 contient les détails du projet.
Si nous devons vérifier les projets dans lesquels un employé est impliqué, nous pouvons joindre les tables sur le nom de l'employé ou l'identifiant de l'employé, donc cela rejoindra les tables et la nouvelle table virtuelle (peut être enregistrée) peut être consultée avec toutes les informations requises .
Caractéristiques
- MySQL est Open-Source et un SGBDR approprié pour accéder et gérer les enregistrements des tables.
- Il prend en charge le langage de codage SQL, très courant dans le domaine de la gestion de bases de données.
- MySQL est basique et facile à utiliser. Il contient des quantités écrasantes de documentation si quelqu'un est bloqué sur un problème particulier.
- MySQL a une couche de sécurité très solide. Les mots de passe sont cryptés, les données sensibles sont donc à l'abri des intrus.
- MySQL est évolutif, car il prend en charge le multi-threading. Le multi-threading est responsable de l'exécution rapide des requêtes et de la manipulation des données même si la table est de très grande taille.
- MySQL a une architecture client/serveur. Il existe un serveur de base de données et de nombreux clients (programmes d'application) qui sont connectés au serveur.
Types de jointures
Jointure interne
La jointure interne est le type de jointure par défaut dans MySQL. Il joint et renvoie les enregistrements correspondants des deux tables. Il comparera chaque ligne d'une table avec une autre et vérifiera la condition de jointure. Si la condition est remplie, une nouvelle ligne est créée avec les colonnes des deux tables et cette nouvelle ligne est incluse dans la sortie.
Extrait de code:
SÉLECTIONNER t1 . emp_id , t1.emp_name,t2.project_name

FROM employé en tant que t1
Projet INNER JOIN en tant que t2
ON t1.project_id = t2 . project_id
Dans cette requête, il y a deux tables. Le premier tableau contient les détails des employés et le second comprend tous les projets en cours. Après avoir exécuté la requête ci-dessus, MySQL renverra tous les employés avec les détails de leurs projets respectifs. Ici, la colonne project_id est une clé étrangère dans la table des employés et une clé primaire dans la table des projets. Les employés sans project_id ou project_id sans aucun employé ne seront pas retournés.
Joint gauche
Jointure gauche, joint et renvoie les enregistrements correspondants des deux tables et les enregistrements sans correspondance de la première table. La jointure gauche renvoie essentiellement la sortie de la jointure interne + les enregistrements sans correspondance de la première table. Ces lignes sans correspondance auront également les colonnes de la table 2, mais la valeur de ces colonnes sera nulle car il n'y a pas de données correspondantes pour celles-ci.
Extrait de code:
SÉLECTIONNER t1 . emp_id , t1.emp_name,t2.project_name

FROM employé en tant que t1
Projet LEFT JOIN en tant que t2
ON t1.project_id = t2 . project_id
Dans cette requête, il y a deux tables. Le premier tableau contient les détails des employés et le second comprend tous les projets en cours. Après avoir exécuté la requête ci-dessus, MySQL renverra tous les employés avec les détails de leur projet respectif ainsi que les détails de l'employé n'ayant aucun project_id attribué. Ici, la colonne project_id est une clé étrangère dans la table des employés et une clé primaire dans la table des projets.
Lire : Renommer le nom de la colonne en SQL
Joindre à droite
La jointure droite est très similaire à la jointure gauche, sauf que maintenant les enregistrements sans correspondance de la deuxième table seront inclus dans la sortie et seuls les enregistrements correspondants de la première table.
Extrait de code:
SÉLECTIONNER t1 . emp_id , t1.emp_name,t2.project_name
FROM employé en tant que t1
Projet RIGHT JOIN en tant que t2
ON t1.project_id = t2 . project_id
Après avoir exécuté la requête ci-dessus, MySQL renverra tous les employés avec les détails de leurs projets respectifs ainsi que les détails des projets n'ayant aucun employé correspondant. Les colonnes des détails de l'employé seront NULL dans ces cas.
Joindre complet
Comme son nom l'indique, la jointure complète renvoie tous les enregistrements correspondants et non correspondants. Si MySQL est capable de trouver des lignes correspondantes sur la colonne souhaitée, ces enregistrements seront mis en correspondance. Le reste des lignes aura des valeurs NULL.
Extrait de code:
SÉLECTIONNER *
FROM employé en tant que t1
Projet FULL OUTER JOIN en tant que t2
ON t1.project_id = t2 . project_id
Après avoir exécuté la requête ci-dessus, MySQL renverra tous les employés avec les détails de leurs projets respectifs, ainsi que les détails des employés n'ayant aucun projet et les projets n'ayant aucun employé correspondant. Certaines colonnes auront des valeurs NULL en conséquence.
Jointure croisée
Comme son nom l'indique, la jointure croisée joindra chaque ligne de la table 1 à chaque ligne de la table 2. Indépendamment des colonnes correspondantes. Par conséquent, s'il y a 5 enregistrements dans chaque table, la sortie aura 25 lignes car chaque ligne correspond à une autre ligne.
Extrait de code:
SÉLECTIONNER *
DE l'employé en tant que t1
Projet CROSS JOIN en tant que t2

Après avoir exécuté la requête ci-dessus, MySQL renverra tous les employés avec tous les détails du projet. Bien que cela n'ait pas beaucoup de sens de visualiser ces informations, les jointures croisées sont importantes et nécessaires dans certains cas particuliers et spécifiques.
Lisez aussi: Questions et réponses de l'entretien SQL
Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Conclusion
Les jointures sont une partie importante de l'extraction de données. Ils permettent de combiner les données de différentes tables en fonction des besoins de l'utilisateur. Le seul inconvénient des JOINS peut être qu'ils deviennent parfois compliqués à écrire. En fin de compte, les JOINS sont très utiles et différents types de jointures peuvent être implémentés dans MySQL.
Dans l'ensemble, l'apprentissage et la pratique pratique de toutes les bases de données mentionnées dans cet article ajouteront à votre expérience. Parcourez l'aperçu du cours, l'apprentissage et les opportunités d'emploi qui y sont associés - des plates-formes comme upGrad proposent des cours puissants conçus par des instituts très réputés comme l'IIIT-B dans le programme Executive PG Program Full Stack Development.

