Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Français) » Aide contextuelle » Editeur de requête

 

Onglet Jointures

Utilisez cet onglet si vous avez plusieurs tables dans votre requête.

Lorsque vous incluez plusieurs tables dans une requête, elles doivent être jointes d'une manière ou d'une autre. Cet onglet vous permet de définir des jointures.

Jointures par défaut

Lorsque vous spécifiez des tables dans l'onglet Tables, l'éditeur de requête tente de générer une condition de jointure par défaut, et ce, pour deux raisons. Tout d'abord, l'éditeur de requête traite la requête lorsque vous la créez. S'il n'existe aucune jointure par défaut, les tables créent un produit cartésien, ce qui peut occasionner un ralentissement du traitement. Dans la plupart des cas, les produits cartésiens sont déconseillés. Ensuite, l'éditeur de requête propose une stratégie de jointure susceptible de vous convenir.

Si vous ajoutez des tables dans l'onglet Tables, l'éditeur de requête vérifie si une relation par clé étrangère a été créée entre les tables. S'il y a une clé étrangère, l'éditeur l'utilise pour générer une condition ON. S'il existe plusieurs relations par clé étrangère, l'éditeur utilise la première relation qu'il trouve. Si aucune clé étrangère n'existe, l'éditeur ne génère pas de clause ON et les tables deviennent un produit cartésien.

Vous pouvez toujours vérifier votre requête en cliquant sur l'onglet SQL situé au bas de la fenêtre de l'éditeur de requête. Il est possible de modifier la stratégie de jointure directement dans l'onglet SQL ou à partir de l'interface utilisateur de l'onglet Jointures. Pour plus d'informations, reportez-vous à la section Joins: Retrieving data from several tables.

Note

Conseil : tous les champs de l'onglet Jointures peuvent être redimensionnés. Pour agrandir la fenêtre de l'éditeur de requête, tirez sur ses bords. Vous devrez peut-être redimensionner les champs et la fenêtre pour lire les noms de table.

Composants

Expression de la table de gauche   Sélectionnez une table dans la liste déroulante. Seules les tables saisies dans l'onglet Tables sont disponibles. Le fait de placer une table à droite ou à gauche est important pour les jointures externes.

Type de jointure   Sélectionnez un type de jointure dans la liste déroulante. Pour plus d'informations, reportez-vous à la section Joined tables.

Expression de la table de droite   Sélectionnez une table dans la liste déroulante. Seules les tables saisies dans l'onglet Tables sont disponibles. Le fait de placer une table à droite ou à gauche est important pour les jointures externes.

Condition   Double-cliquez sur cet élément pour créer une condition ON. L'éditeur de requête insère le mot-clé ON. Pour les jointures par clé et les jointures naturelles, la condition ON est générée par SQL Anywhere. Pour plus d'informations, reportez-vous à la section Explicit join conditions (the ON clause).

Ajouter   Permet d'ajouter des lignes. Cliquez sur le cercle gris à gauche de la ligne pour la sélectionner.

Supprimer   Permet de supprimer des lignes. Cliquez sur le cercle gris à gauche de la ligne pour la sélectionner.

Vous devez supprimer les lignes vides. Cette opération ne modifie pas les tables de votre requête : pour ajouter ou supprimer une table, utilisez l'onglet Tables.

Résultats   Ce volet affiche les résultats de votre requête ou un message d'erreur si la requête comporte des erreurs.

SQL   Cliquez sur SQL au bas de la fenêtre pour afficher le code SQL correspondant à votre requête.

Détection et résolution des problèmes

Si vous obtenez un message d'erreur indiquant que la jointure est incorrecte, cliquez sur l'onglet SQL au bas de la fenêtre pour vérifier le code SQL. Il peut arriver que des guillemets isolés ou des virgules supplémentaires aient été insérés dans le code, en particulier si vous avez ajouté ou supprimé des lignes dans l'onglet Jointures. Par exemple, la requête suivante produit un message d'erreur. Vous devez supprimer les guillemets isolés qui apparaissent après SalesOrders :

FROM ("Customers"
   JOIN "SalesOrders")""
     JOIN "SalesOrderItems"
Voir aussi