La base de données relationnelle Oracle utilise Structured Query Language , ou SQL, de construire et de maintenir des structures de base de données , modifier des données et générer des rapports à partir des données . Comme avec d'autres bases de données qui utilisent SQL, la clause JOIN de l'instruction SELECT est fondamentalement important pour Oracle, comme il se connecte temporairement des tables séparées pour former des structures de données plus complètes. Oracle version 8i utilisé un symbole plus pour indiquer une variante appelée la jointure externe . Sélectionner et inscription
bases de données relationnelles Oracle utilisent instruction SELECT de SQL à des listes de représentations de données , y compris les champs dans les tables et les résultats calculés . SELECT contient des clauses optionnelles pour extraire conditionnellement informations , de les trier et de créer des rubriques et les totaux du groupe . Avec la clause JOIN , vous créez une table virtuelle en reliant deux ou plusieurs tables séparées sur les champs de données communes . Par exemple, une table des commandes a un numéro d' ordre, le code d'article et la quantité achetée, mais aucune description de l'article . La description de l'objet réside dans la table des éléments . Pour imprimer une liste de commandes avec des descriptions , vous rejoignez les tables Orders et articles sur le code objet . En rejoignant les deux tables, vous avez accès aux champs à la fois .
Inner
Rejoignez
La clause JOIN dans SQL Oracle 8i a un deux variantes de base , intérieure et externe . Une jointure interne combine des enregistrements d'une paire de tables , mais si une table possède pas de documents qui correspondent à celle de l'autre , la table virtuelle résultante ne contient aucun enregistrement pour les deux. Une jointure interne contient des entrées que lorsque les deux tableaux ont les enregistrements correspondants . Par exemple, un tableau des commentaires d'ordre a le numéro de commande et commentaires champs . Pas tous les ordres ont des commentaires , cependant, si vous liez la table des commandes au tableau de l'ordre des commentaires en utilisant une jointure interne , la table virtuelle contient uniquement des ordres de commentaires
explicite OUTER JOIN < br . > Photos
une jointure externe comprend toujours les enregistrements de l'une des deux tables liées indépendamment du fait que l'autre a ou non entrées correspondantes . Si la jointure est une jointure externe gauche , SQL inclut la table de gauche , une jointure externe droite comprend des enregistrements de la table sur la droite. Lorsque l'instruction SQL SELECT inclut les mots , " LEFT OUTER JOIN " ou " RIGHT OUTER JOIN ", il est appelé une jointure explicite . L'instruction SELECT suivante comprend tous les documents de commande, y compris ceux avec des commentaires :
SELECT orders.order_number , customer_code , les commentaires de commandes LEFT OUTER JOIN order_comments ON orders.order_number = order_comments.order_number ;
Oracle a commencé à utiliser le format de jointure externe explicite avec la version 9i de leur logiciel .
implicite OUTER JOIN
En plus d'une jointure externe explicite , Oracle 8i a une syntaxe facultatif qui vous permet de mettre la jointure dans la clause WHERE. Dans ce cas, vous spécifiez une jointure externe gauche en plaçant un symbole plus à gauche d'un signe égal , une jointure externe droite est le symbole plus à droite. Cette instruction SELECT fait un LEFT OUTER JOIN entre les commandes et la commande des commentaires tables comme avant , mais il utilise la syntaxe implicite :
SELECT orders.order_number , customer_code , les commentaires de commandes , order_comments OÙ orders.order_number + = order_comments . NUMÉRO_COMMANDE ;
Bien que la jointure externe implicite est plus compact et plus facile à écrire , les experts préfèrent la méthode explicite car il adhère plus étroitement à la syntaxe SQL standard et évite les ambiguïtés du processus de jointure
.