Précédemment, nous avions regardé intérieurs nous joignons, où nous choisissons des rangées communes aux tables participantes à un joindre. Un cas est que si nous sommes intéressés à choisir des éléments dans une table indépendamment de si elles sont présentes dans la deuxième table ? Nous devrons maintenant employer le SQL EXTERNE JOIGNONS la commande.
Exemple :
La syntaxe pour exécuter un externe s'associent au SQL est base de données-dépendante. Par exemple, dans Oracle, nous placerons « (+) » dans OÙ clause de l'autre côté de la table pour laquelle nous voulons inclure toutes rangées.
Nous ayons les deux tables suivantes,
Tableau : - Store_Information
Store_name
Sales
Date
Los Angeles
$1500
Jan-05-2005
San Diego
$250
Jan-07-2005
Los Angeles
$300
Jan-08-2005
Boston
$700
Jan-08-2005
Tableau : - Géographie
Region_name
Store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
Si nous voulons découvrir des ventes par région. Nous voyons que la géographie de table inclut l'information sur des régions et des magasins, et la table Store_Information contient des informations commerciales pour chaque magasin. Pour obtenir les informations commerciales par région, nous devons combiner l'information des deux tables. Examinant les deux tables, nous constatons qu'elles sont liées par l'intermédiaire du champ commun, le « store_name ».
SELECT A1.store_name, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name (+)
GROUP BY A1.store_name
Output:-
Store_name
SALES
Boston
$700
New York
Los Angeles
$1800
San Diego
$250
Note : Quand il y a aucun match sur la deuxième NULLE de table n'est retourné. Dans ce cas-ci, « New York » n'apparaît pas dans la table Store_Information, ainsi sa colonne correspondante de « VENTES » est NULLE.