Comment le Concepteur de requêtes et de vues représente des jointures (Visual Database Tools)
Si des tables sont jointes, le concepteur de requêtes et de vues représente la jointure graphiquement dans le volet diagramme et à l’aide de la syntaxe SQL dans le volet SQL.
Volet Diagramme
Dans le volet Diagramme, le Concepteur de requêtes et de vues affiche une ligne de jointure entre les colonnes de données impliquées dans la jointure. Le Concepteur de requêtes et de vues affiche une ligne de jointure pour chaque condition de jointure. Par exemple, l’illustration suivante montre une ligne de jointure entre deux tables jointes :
Si des tables sont jointes à l’aide de plusieurs conditions de jointure, le Concepteur de requêtes et de vues affiche plusieurs lignes de jointure, comme dans l’exemple suivant :
Si les colonnes de données jointes ne sont pas affichées (par exemple, le rectangle représentant la table ou l’objet structuré par 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é par table.
La forme de l’icône au milieu de la ligne de jointure indique comment les tables ou les objets structurés par table sont joints. Si la clause de jointure utilise un opérateur autre que égal à (=), l’opérateur apparaît dans l’icône de ligne de jointure. Le tableau suivant répertorie les icônes qui apparaissent dans la ligne de jointure.
Icône de connexion de ligne | Description |
---|---|
![]() |
Jointure interne (créée à l’aide d’un signe égal). |
![]() |
Jointure interne basée sur l’opérateur « supérieur à ». |
![]() |
Jointure externe dans laquelle toutes les lignes de la table représentées sur la gauche seront incluses, même si elles n’ont pas de correspondances dans la table associée. |
![]() |
Jointure externe dans laquelle toutes les lignes de la table représentées à droite seront incluses, même si elles n’ont pas de correspondances dans la table associée. |
![]() |
Jointure externe complète dans laquelle toutes les lignes des deux tables seront incluses, même si elles n’ont pas de correspondances dans la table associée. |
Les symboles sur les extrémités de la ligne de jointure indiquent le type de jointure. Le tableau suivant répertorie les types de jointures et les icônes affichées aux extrémités de la ligne de jointure.
icône sur les extrémités de la ligne de jointure | Type de jointure |
---|---|
![]() |
Joint un à un. |
![]() |
Jointure un à plusieurs. |
![]() |
Le Concepteur de requêtes et de vues ne peut pas déterminer le type de jointure. Cette situation se produit le plus souvent lorsque vous avez créé une jointure manuellement. |
Volet SQL
Une jointure peut être exprimée de plusieurs façons dans une instruction SQL. La syntaxe exacte dépend de la base de données que vous utilisez et de la façon dont vous avez défini la jointure.
Les options de syntaxe pour joindre des tables sont les suivantes :
qualificateur JOIN pour la clause FROM. Les mots clés INNER et OUTER spécifient le type de jointure. Cette syntaxe est standard pour ANSI 92 SQL.
Par exemple, si vous joignez les tables
publishers
etpub_info
en fonction de la colonnepub_id
de chaque table, l’instruction SQL résultante peut ressembler à ceci :SELECT * FROM publishers INNER JOIN pub_info ON publishers.pub_id = pub_info.pub_id
Si vous créez une jointure externe, les mots LEFT OUTER ou RIGHT OUTER apparaissent à la place du mot INNER.
La clause WHERE compare les colonnes des deux tables. Une clause WHERE s’affiche 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 deux noms de table apparaissent dans la clause FROM.
Par exemple, l’instruction suivante joint les tables
publishers
etpub_info
.SELECT * FROM publishers, pub_info WHERE publishers.pub_id = pub_info.pub_id