Mercredi 22 juin 2011 3 22 /06 /Juin /2011 13:19

 

LES JOINTURES DANS ORACLE.

C’est quoi une jointure ? A quoi sert une jointure ? Comment ça marche ?

Une jointure permet d’extraire des données issues de plusieurs tables.
Une jointure met en relation deux tables à partir d’une condition de jointure.
La condition de jointure compare deux colonnes de deux tables différentes.

Les conditions de jointures sont soit dans la clause :
FROM (SQL2 - SQL92)
WHERE (SQL89 ou Procédurales)

La majorité des requêtes utilisent des jointures car elles sont nécessaires pour pouvoir extraire des données de tables distinctes.
On parle de jointure lorsque plusieurs tables apparaissent dans la clause FROM d’une requête.

La clause SELECT permet de sélectionner les colonnes des tables, les colonnes présentes dans les conditions de jointure des clauses FROM / WHERE ne sont pas obligatoires dans la clause SELECT.

Si dans ces tables, des colonnes possèdent le même nom, alors il faut faire précéder les noms de colonnes par le nom de la table en question afin de supprimer toute ambiguïté ou par un Alias de table ce qui de plus, augmente les performances d’exécutions.
Pour exécuter une jointure sur plusieurs tables, Oracle joint d’abord 2 tables sur la base des conditions de jointure en comparant les colonnes et ensuite rejoint le résultat à une autre table en fonction des conditions de jointures, et ainsi de suite tout en s’appuyant évidemment sur les index et différentes statistiques des tables.

Il existe différents types de jointure suivant l’operateur de comparaison, la clause de jointure et les tables.

LES TYPES DE JOINTURES

JOINTURES INTERNES = INNER JOINS ou EQUIJOINTURES = EQUI JOINS.
Une jointure interne ou équijointure est une jointure avec une condition de jointure contenant un opérateur d‘égalité.
C’est la plus répandue, elle combine les lignes qui ont des valeurs équivalentes pour les colonnes de la jointure.

 

NON EQUIJOINTURES = NON EQUIJOINS.
Une non équijointure est une jointure avec une condition de jointure contenant un opérateur d‘inégalité.
Elle combine les lignes qui ont des valeurs d’inégalités pour les colonnes de la jointure.

 

AUTO JOINTURES = SELF JOINS.
Une auto jointure est une jointure d’une table sur elle même.
La table apparait 2 fois dans la clause FROM avec des alias de tables afin de pouvoir qualifier les colonnes dans la condition de jointure.

 

JOINTURES EXTERNES = OUTER JOINS.
Une jointure externe élargie le résultat d’une jointure simple (INNER JOINS) et permet d’extraire des enregistrements qui ne répondent pas aux critères de jointure.
Une jointure externe renvoie toutes les lignes qui satisfont la condition de jointure et retourne également une partie de ces lignes de la table pour laquelle aucune des lignes de l’autre ne satisfait la condition de jointure.

 

SEMI JOINTURES = SEMI JOINS.
Une semi jointure est une jointure entre deux tables, où seulement une ligne de la première table gauche sera retourné au plus une fois pour laquelle une correspondance est trouvée même si dans la deuxième table droite il existe plusieurs correspondances. (EXISTS, IN).

 

ANTI JOINTURES = ANTI JOINS
Une anti jointure est une jointure entre deux tables, où seulement une ligne de la première table gauche sera retourné au plus une fois pour laquelle aucune correspondance n’est trouvée dans la deuxième table droite (NOT EXISTS, NOT IN).

 

PRODUITS CARTESIENS = CARTESIAN PRODUCTS.
Un produit cartésien est une jointure entre plusieurs tables où il n’existe aucune condition de jointure.
Chaque ligne d’une table est associée à chaque ligne de l’autre table. (CROSS JOIN)

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
 
Par Daniel Roesch - Publié dans : JOINTURES SQL - SQL JOINS
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés