Partager via


Représentation des jointures dans le Concepteur de requêtes et de vues

Dans le cas de tables jointes, le Concepteur de requêtes et de vues représente la jointure graphiquement dans le volet Schéma et il utilise la syntaxe SQL dans le volet SQL.

Volet Schéma

Dans le volet Schéma, le Concepteur de requêtes et de vues affiche une ligne de jointure entre les colonnes de données impliquées. Il affiche une ligne de jointure par condition de jointure. Par exemple, l'illustration suivante montre une ligne de jointure entre deux tables jointes :

Ligne de jointure des requêtes de PubInfo sur le serveur de publication

Si des tables ont plusieurs conditions de jointure, le Concepteur de requêtes et de vues affiche plusieurs lignes de jointure, comme l'illustre l'exemple suivant :

Capture d'écran DatabaseProjectDatabaseConnections

Si les colonnes de données jointes ne sont pas affichées (parce que, par exemple, le rectangle représentant la table ou l'objet table est réduit ou la jointure implique une expression), le Concepteur de requêtes et de vues place la ligne de jointure dans la barre de titre du rectangle représentant la table ou l'objet structuré en table.

La forme de l'icône au milieu de la ligne de jointure indique la façon dont les tables ou les objets structurés en table sont joints. Si la clause de jointure utilise un autre opérateur que le signe égal (=), il s'affiche dans l'icône de la ligne de jointure. Le tableau suivant fait la liste des icônes qui apparaissent dans la ligne de jointure.

Icône de la ligne de jointure

Description

Capture d'écran QueryJoinLineInnerJoinSymbol

Jointure interne (créée avec l'opérateur « égal »).

Capture d'écran QueryJoinLineInnerJoinGreaterThanOperatorSymbol

Jointure interne basée sur l'opérateur « plus grand que ».

Capture d'écran QueryJoinLinesOuterJoinLeftSymbol

Jointure externe dans laquelle toutes les lignes de la table représentée à gauche seront incluses, même si elles n'ont pas de correspondance dans la table en relation.

Capture d'écran QueryJoinLineOuterJoinRightSymbol

Jointure externe dans laquelle toutes les lignes de la table représentée à droite seront incluses, même si elles n'ont pas de correspondance dans la table en relation.

Capture d'écran QueryJoinLineFullOuterSymbol

Jointure externe entière dans laquelle toutes les lignes des deux tables seront incluses, même si elles n'ont pas de correspondance dans la table en relation.

RemarqueRemarque
Certaines bases de données, et notamment Oracle, ne prennent pas en charge les jointures externes entières.

Les symboles présents aux extrémités de la ligne de jointure indiquent le type de jointure. Le tableau suivant fait la liste des types de jointures et des icônes affichées aux extrémités de la ligne de jointure.

Icône aux extrémités de la ligne de jointure

Type de jointure

Capture d'écran QueryJoinLine1-to-1Symbol

Jointure Un-à-un.

Capture d'écran QueryJoinLine1-to-ManySymbol

Jointure Un-à-plusieurs.

Capture d'écran QueryJoinLineEndSymbol

Le Concepteur de requêtes et de vues ne peut pas déterminer le type de jointure. Ce cas s'observe surtout lorsque vous avez créé une jointure manuellement.

Volet SQL

Dans une instruction SQL, une jointure peut être exprimée de plusieurs façons différentes. La syntaxe exacte dépend de la base de données utilisée et de la façon dont la jointure a été définie.

Pour spécifier une jointure de tables, vous disposez de plusieurs options de syntaxe :

  • Qualificateur JOIN pour la clause FROM.   Les mots clés INNER et OUTER spécifient le type de jointure. Il s'agit de la syntaxe standard du SQL ANSI 92.

    Par exemple, si vous joignez les tables publishers et pub_info sur la base de la colonne pub_id de chaque table, vous obtenez une instruction SQL similaire à la suivante :

    SELECT *
    FROM publishers INNER JOIN pub_info ON
       publishers.pub_id = pub_info.pub_id
    

    En cas de jointure externe, le mot INNER est remplacé par les mots LEFT OUTER ou RIGHT OUTER.

  • Clause WHERE comparant des colonnes des deux tables.   Une clause WHERE apparaît si la base de données ne prend pas en charge la syntaxe JOIN (ou si vous l'avez entrée vous-même). Si la jointure est créée dans la clause WHERE, les noms des deux tables apparaissent dans la clause FROM.

    Par exemple, l'instruction suivante joint les tables publishers et pub_info.

    SELECT *
    FROM publishers, pub_info
    WHERE  publishers.pub_id = pub_info.pub_id
    

Voir aussi

Référence

Joindre, boîte de dialogue

Autres ressources

Interrogation avec des jointures