Types de jointures dans SQL Server - Top 5 des jointures dans SQL Server avec des exemples

Table des matières:

Anonim

Vue d'ensemble des types de jointures dans SQL Server

La clause Join, le mot clé JOIN est fusionné plusieurs tables en un seul jeu de résultats. La clause FROM devra inclure toutes les tables. Sépare chaque table par une clause WHERE virgule généralement incluse.

Nous pouvons insérer l'expression booléenne qui renvoie true ou false, et ces expressions peuvent faire référence à des colonnes dans toutes les tables.

Types de jointures dans SQL Server

Il existe différents types de jointures

  • CROSS JOIN
  • JOINTURE INTERNE
  • JOINT EXTERIEUR
  1. JOINTURE EXTERNE GAUCHE
  2. JOINT EXTERIEUR DROIT
  • JOINTURE EXTÉRIEURE COMPLÈTE
  • SE JOINDRE

Comprenons chacun de ces joints en détail: -

1) Jointure croisée

  • C'est le plus simple JOIN
  • Il renvoie toutes les lignes des deux tables
  • Pas de clause WHERE
  • C'est aussi le moins utile
  • C'est très inefficace
  • Il crée un produit cartésien
  • Mot-clé CROSS implicite

Exemple

Donc, tout le monde de la première table avec chaque élément de données de la deuxième table sans aucune tentative de correspondance, c'est donc la chose que vous ne voulez pas faire.

Recherchez la clause FROM où vous avez plusieurs tables et il n'y a pas de clause WHERE.

2) Jointure intérieure

Sortie de la requête:

Vos lignes initiale et dernière ont des valeurs de coordination impliquées avec C2. Les rangées centrales ne se rencontrent généralement pas. Le dernier résultat final fournit toutes les valeurs par le biais des lignes initiales et des dernières lignes, mais n'inclut pas encore cette ligne de section centrale non correspondante.

  • C'est le plus typique JOIN
  • Cela a souligné la nature relationnelle de la base de données
  • Cela nous permet de faire correspondre la valeur de la colonne dans l'une des tables à la valeur de la colonne dans une autre des tables.
  • La clé primaire dans l'une des tables et une clé étrangère dans l'une des autres tables.

Exemple

Ici p.person_id est notre clé primaire dans notre table person,

email_address_person_id est notre clé étrangère dans la table des adresses e-mail.

Jetons un coup d'œil à la table des personnes

Nous avons ces quatre rangées. Et puis toutes les correspondances à l'intérieur du tableau des adresses e-mail.

Donc, à la fin, il devrait y avoir trois personnes parce que nous avons une personne Shannon qui n'a pas d'adresse e-mail

Sortie de la requête:

Nous obtenons donc uniquement les données là où il y a une correspondance entre les deux colonnes dans chacune des tables

3) Jointure externe

  • INNER JOIN ne traite pas les valeurs NULL
  • OUTER JOIN fonctionne même en l'absence de correspondance dans le deuxième tableau.
  • Colonnes NULL si aucune correspondance dans le deuxième tableau
  • FULL OUTER JOIN retourne toutes les lignes jointes
  • NULL quand aucune correspondance dans aucune des tables

a) Jointure extérieure gauche

Sortie de la requête: Vous êtes initial ainsi que les dernières lignes ont des valeurs de coordination impliquées avec C2. Les rangées centrales ne se rencontrent généralement pas. Le dernier résultat final pourrait conserver toutes les lignes de la première table, mais en fait, il laissera de côté la ligne sans correspondance dans la deuxième table.

  • Un autre JOIN lié à NULL
  • Toutes les lignes du côté gauche seront retournées
  • NULL pour la table latérale droite non correspondante

Exemple

Sortie de la requête:

Vous remarquez qu'il existe une ligne dans la table Personne qui n'a pas de valeurs dans la table d'adresses e-mail. Donc, LEFT OUTER JOIN nous donnera.

b) Jointure extérieure droite

Sortie de la requête:

Vous êtes initial ainsi que les dernières lignes ont des valeurs de coordination impliquées avec C2. Les rangées centrales ne se rencontrent généralement pas. Le dernier résultat final pourrait conserver toutes les lignes de la deuxième table, mais laissera en fait de côté la ligne sans correspondance dans la première table.

  • En face de LEFT OUTER JOIN
  • Toutes les lignes du côté droit seront retournées
  • NULL pour une table latérale gauche non correspondante

Exemple Sortie de la requête:

Nous obtenons trois résultats. Voici notre résultat RIGHT OUTER JOIN où nous avons la ligne du tableau des adresses e-mail qui n'a pas de ligne correspondante dans le tableau de droite.

4) Jointure externe complète

Exemple

Sortie de la requête:

Nous arrivons à combiner le résultat de LEFT OUTER JOIN et RIGHT OUTER JOIN

5) Auto-adhésion

  • SELF n'est pas un mot-clé. C'est juste cette idée que vous pouvez créer une table sur elle-même
  • Bizarre mais parfois utile
  • Pas de syntaxe spéciale
  • Le même tableau à gauche et à droite de JOIN
  • Utile lorsqu'une table contient des données hiérarchiques

Exemple

SELECT *

DES COMMANDES

S'abonner aux abonnements

ON Orders.subscription_id = subscriptions.subscription_id;

Nous obtenons la table des commandes et la table des abonnements et JOIN la table en utilisant SELECT toutes les colonnes.

Pour obtenir le résultat.

Conclusion:

Les jointures sont la façon dont nous donnons vraiment vie au modèle relationnel. Le modèle relationnel consiste à séparer les données, à les normaliser dans plusieurs tables, mais à les rassembler à nouveau lorsque nous voulons voir ces relations. Et les différents types de jointures nous permettent de le faire de manières légèrement différentes.

Articles recommandés

Cela a été un guide pour les types de jointures dans le serveur SQL. Nous discutons ici de la vue d'ensemble et des types de jointures en SQL avec leurs exemples. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Qu'est-ce que SQL Server?
  2. Carrières dans SQL Server
  3. Formation PL SQL
  4. Opérateurs MySQL
  5. 6 principaux types de jointures dans MySQL avec des exemples