Jointures de SGBD: types d'opérations de jointure interne, externe gauche, THETA

Table des matières:

Anonim

Qu'est-ce que Join in DBMS?

Join in DBMS est une opération binaire qui vous permet de combiner le produit de jointure et la sélection dans une seule instruction. L'objectif de la création d'une condition de jointure est qu'elle vous aide à combiner les données de deux ou plusieurs tables SGBD. Les tables du SGBD sont associées à l'aide de la clé primaire et des clés étrangères.

Dans ce didacticiel SGBD, vous apprendrez:

  • Types de jointure
  • Jointure interne
    • Rejoindre Theta
    • Joindre EQUI:
    • Jointure naturelle (⋈)
  • Jointure externe
    • Jointure externe gauche (A B)
    • Jointure externe droite (A B)
    • Jointure externe complète (A B)

Types de jointure

Il existe principalement deux types de jointures dans le SGBD:

  1. Jointures internes: Thêta, naturel, EQUI
  2. Jointure externe: gauche, droite, pleine

Voyons-les en détail:

Jointure interne

INNER JOIN est utilisé pour renvoyer les lignes des deux tables qui satisfont la condition donnée. Il s'agit de l'opération de jointure la plus utilisée et peut être considérée comme un type de jointure par défaut

Une jointure interne ou une équi-jointure est une jointure basée sur un comparateur qui utilise des comparaisons d'égalité dans le prédicat de jointure. Cependant, si vous utilisez d'autres opérateurs de comparaison comme ">", cela ne peut pas être appelé équijointure.

Jointure intérieure divisée en trois sous-types:

  • Rejoindre Theta
  • Jointure naturelle
  • Rejoindre EQUI

Rejoindre Theta

THETA JOIN vous permet de fusionner deux tables en fonction de la condition représentée par thêta. Les jointures Theta fonctionnent pour tous les opérateurs de comparaison. Il est désigné par le symbole θ . Le cas général de l'opération JOIN est appelé une jointure Thêta.

Syntaxe:

A ⋈θ B

La jointure thêta peut utiliser toutes les conditions des critères de sélection.

Considérez les tableaux suivants.

Tableau A Tableau B
colonne 1 colonne 2 colonne 1 colonne 2
1 1 1 1
1 2 1 3

Par exemple:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.colonne 2> B.colonne 2 (B)
colonne 1 colonne 2
1 2

Rejoindre EQUI

EQUI JOIN est effectué lorsqu'une jointure Thêta utilise uniquement la condition d'équivalence. La jointure EQUI est l'opération la plus difficile à implémenter efficacement dans un SGBDR, et l'une des raisons pour lesquelles les SGBDR ont des problèmes de performances essentiels.

Par exemple:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.colonne 2 = B.Colonne 2 (B)
colonne 1 colonne 2
1 1

Jointure naturelle (⋈)

NATURAL JOIN n'utilise aucun des opérateurs de comparaison. Dans ce type de jointure, les attributs doivent avoir le même nom et le même domaine. Dans Natural Join, il doit y avoir au moins un attribut commun entre deux relations.

Il effectue une sélection formant l'égalité sur les attributs qui apparaissent dans les deux relations et élimine les attributs en double.

Exemple:

Considérez les deux tableaux suivants

C
Num Carré
2 4
3 9
Num cube
2 8
3 18
C ⋈ D
C ⋈ D
Num Carré cube
2 4 8
3 9 18

Jointure externe

Une jointure externe n'exige pas que chaque enregistrement des deux tables de jointure ait un enregistrement correspondant. Dans ce type de jointure, la table conserve chaque enregistrement même si aucun autre enregistrement correspondant n'existe.

Trois types de jointures externes sont:

  • Jointure externe gauche
  • Jointure externe droite
  • Jointure externe complète

Jointure externe gauche (A B)

LEFT JOIN renvoie toutes les lignes de la table de gauche même si aucune ligne correspondante n'a été trouvée dans la table de droite. Lorsqu'aucun enregistrement correspondant n'est trouvé dans la table de droite, NULL est renvoyé.

Considérez les 2 tableaux suivants

UNE
Num Carré
2 4
3 9
4 16
B
Num cube
2 8
3 18
5 75
A  B
A ⋈ B
Num Carré cube
2 4 8
3 9 18
4 16 -

Jointure externe droite (A B)

RIGHT JOIN renvoie toutes les colonnes de la table de droite même si aucune ligne correspondante n'a été trouvée dans la table de gauche. Lorsqu'aucune correspondance n'a été trouvée dans la table de gauche, NULL est renvoyé. RIGHT external JOIN est l'opposé de LEFT JOIN

Dans notre exemple, supposons que vous ayez besoin d'obtenir les noms des membres et des films loués par eux. Nous avons maintenant un nouveau membre qui n'a encore loué aucun film.

A  B
A ⋈ B
Num cube Carré
2 8 4
3 18 9
5 75 -

Jointure externe complète (A B)

Dans une FULL OUTER JOIN , tous les tuples des deux relations sont inclus dans le résultat, quelle que soit la condition de correspondance.

Exemple:

A  B
A ⋈ B
Num Carré cube
2 4 8
3 9 18
4 16 -
5 - 75

Résumé:

  • Il existe principalement deux types de jointures dans le SGBD 1) Jointure interne 2) Jointure externe
  • Une jointure interne est l'opération de jointure largement utilisée et peut être considérée comme un type de jointure par défaut.
  • La jointure intérieure est divisée en trois sous-types: 1) jointure thêta 2) jointure naturelle 3) jointure EQUI
  • Theta Join vous permet de fusionner deux tables en fonction de la condition représentée par theta
  • Lorsqu'une jointure thêta utilise uniquement une condition d'équivalence, elle devient une jointure equi.
  • La jointure naturelle n'utilise aucun des opérateurs de comparaison.
  • Une jointure externe ne nécessite pas que chaque enregistrement des deux tables de jointure ait un enregistrement correspondant.
  • La jointure externe est divisée en trois sous-types: 1) Jointure externe gauche 2) Jointure externe droite 3) Jointure externe complète
  • La jointure externe GAUCHE renvoie toutes les lignes de la table de gauche, même si aucune ligne correspondante n'a été trouvée dans la table de droite.
  • La jointure externe DROITE renvoie toutes les colonnes de la table de droite, même si aucune ligne correspondante n'a été trouvée dans la table de gauche.
  • Dans une jointure externe complète, tous les tuples des deux relations sont inclus dans le résultat, quelle que soit la condition de correspondance.