Se une en SQL | Types de jointures en SQL

Contenu

introduction

Les jointures SQL peuvent être un concept difficile à maîtriser pour les débutants. Si vous n'avez jamais étudié la programmation auparavant, vous pouvez avoir du mal à comprendre quelles combinaisons sont dans SQL et les différents types de syndicats.

Mais en tant qu'aspirant ou professionnel de la science des données, vous devez avoir une solide compréhension de ce que sont les jointures SQL et de leur fonctionnement. crème, vous l'utiliserez beaucoup si l'industrie de la science des données récupère et manipule rapidement les données présentes dans différentes tables.

joindre-sql-4406020

Dans cet article, je vais montrer que les jointures sql sont vraiment faciles à apprendre. Nous allons d'abord comprendre ce que sont les jointures SQL, puis nous examinerons les quatre types de jointures différents que vous devrez maîtriser..

Voulez-vous apprendre les bases de ce qu'est SQL et comment il peut être appliqué en science des données? Regardez le cours populaire SQL pour la science des données.

Que sont les jointures SQL?

Répondons d'abord à la question à un million de dollars avant d'examiner les différents types de jointures en SQL.

Je vais prendre un exemple intuitif pour expliquer ce que sont les jointures SQL. Considérez ces deux collections:

1-5-300x153-2674159

Disons que le cercle bleu représente l'ensemble de tous les enfants (DES GAMINS) et le gris représente l'ensemble des personnes qui aiment voir jouer Messi (MESSI). Comment procéderais-je si nous voulions le set de tous les garçons qui aiment voir jouer Messi ??

Il y a une manière très procédurale d'aborder ce problème:

  • Premier, sélectionnez tous les différents identifiants du tableau de Messi qui représentent la requête interne ci-dessous
  • Prenez chaque ID du tableau des garçons et comparez-le à cet ensemble.
  • Si l'identifiant correspond à l'un d'entre eux, puis générez cette ligne à partir de la table Boys

Ceci est assez similaire au concept d'une boucle for’ et c'est ce qu'on appelle la sous-sélection en SQL.

SÉLECTIONNER * DE GARÇONS
 identifiant EST DANS (SÉLECTIONNER DISTINCT identifiant DE MESSI);

Mais en SQL, il y a une autre façon d'aborder ce problème.

Pour commencer à comprendre les combinaisons, nous devons d'abord avoir un point de vue différent sur ce que nous voulons vraiment. Dans une terminologie établie: nous voulons le intersection par GARÇONS et MESSI. En termes graphiques, cela s'exprime comme:

img1-300x193-8693146

On s'intéresse à la partie céleste, vérité? Cette partie, ouais intérieur partie (Piste), Ce sont tous des garçons qui aiment voir Messi. Il ne nous reste plus qu'à exprimer cela en SQL:

SÉLECTIONNER * DE GARÇONS
INTÉRIEUR REJOINDRE MESSI
AU GARÇONS.id = MESSI.id;

Regardez ce que le (intérieur) rejoindre il y a? Cela ne pourrait pas être plus facile! C'est l'approche intuitive sur la façon de comprendre les combinaisons.

Noter: Les diagrammes de Venn ne sont pas appliqués directement à SQL car les éléments des collections (les tables) ils ne sont pas identiques. Mais parce qu'ils se réfèrent l'un à l'autre, nous pouvons utiliser les diagrammes de Venn pour mieux comprendre le concept.

Différents types de jointures en SQL

À présent. Nous allons étendre cela à une vue d'ensemble et en apprendre davantage sur les différents types de jointures SQL. Considérez les exemples de tableaux suivants:

selection_162-2674429

1. INNER JOIN en SQL

C'est ce que nous avons couvert dans la section précédente. Inner Join devuelve registros que tienen valores coincidentes en ambas tablas:

intérieur-300x237-1785551

Voyons ce que la sortie utilise l'exemple ci-dessus:

SÉLECTIONNER * DE GARÇONS INTÉRIEUR REJOINDRE MESSI
AU GARÇONS.id = MESSI.id;

PRODUCTION:

selection_163-4866670

Comme je l'ai mentionné précédemment, la jointure interne donne l'intersection de deux tables, c'est-à-dire, lignes communes aux deux tables.

2. ARTICULATION DROITE (externe) et SQL

Supposons que nous voulions l'identification et le nom de toutes les personnes qui aiment voir Messi jouer. Évidemment, il y a plusieurs façons d'écrire cette requête, mais on le comprendra avec l'aide des syndicats.
droite-300x221-6808244

Voyons quelle est la sortie:

SÉLECTIONNER  *  DE GARÇONS DROIT REJOINDRE MESSI 
AU GARÇONS.id = MESSI.id;

PRODUCTION:

selection_164-6575760

Pouvez-vous découvrir ce qui s'est passé ici? La jointure externe droite nous donne les lignes communes aux deux tables, ainsi que des lignes supplémentaires de la table de Messi qui ne sont pas présentes à l'intersection. En d'autres termes, une jointure à droite renvoie tous les enregistrements de la table de droite et les enregistrements correspondants de la table de gauche.

3. LA GAUCHE (Extérieur) JOINDRE en SQL

Disons que nous voulons la liste de tous les gars qui aiment regarder Messi jouer et n'aiment pas voir Messi jouer avec des jointures..

gauche-300x212-7384950

Je veux que vous devinez le résultat final avant de lire la suite.

SÉLECTIONNER  *  DE GARÇONS LA GAUCHE REJOINDRE MESSI
AU GARÇONS.id = MESSI.id;

PRODUCTION:

selection_165-1571438

La jointure externe gauche nous donne les lignes communes aux deux tables, ainsi que des lignes supplémentaires de la table Garçons qui ne sont pas présentes dans l'intersection. En d'autres termes, une jointure gauche renvoie tous les enregistrements de la table de gauche et les enregistrements correspondants de la table de droite.

4. Union complète (EXTÉRIEUR) et SQL

Finalement, disons que nous voulons la liste de toutes les personnes, y compris les enfants qui aiment regarder Messi jouer.

complet-300x202-3724756

Je suis sûr que vous connaissez déjà la réponse maintenant!!

SÉLECTIONNER  *  DE GARÇONS PLEIN EXTÉRIEUR REJOINDRE MESSI
AU GARÇONS.id = MESSI.id;

PRODUCTION:

selection_166-8467922

Parfait! Une jointure externe complète nous donne les lignes communes aux deux tables, ainsi que des lignes supplémentaires des deux tables qui ne sont pas présentes à l'intersection. Nous obtenons tous les enregistrements lorsqu'il y a une correspondance dans la table de gauche ou de droite.

Remarques finales

Vous voulez apprendre comment SQL peut être utilisé dans la science des données? Je recommande fortement de jeter un oeil à ce cours incroyable: Langage de requêtes structurées (SQL) pour la science des données.

Si vous avez des questions ou des commentaires sur cet article, faites le moi savoir dans la section commentaire ci-dessous et je serai heureux de communiquer avec vous.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.