Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Outer-Join-Hilfe in Oracle

Ich finde es viel einfacher, ANSI-Joins zu verwenden, wenn bei Outer-Joins mehr als eine Tabelle beteiligt ist:

SELECT title, order#, STATE
FROM customers c 
   JOIN orderitems O ON o.customer_id = c.id
   LEFT JOIN books b ON b.isbn = o.isbn
ORDER BY title

(Dies ist im Wesentlichen die gleiche Abfrage, die Arjan gepostet hat, nur mit Standard-Syntax)

Abhängig von Ihren Anforderungen möchten Sie möglicherweise auch einen LEFT JOIN für Bestellartikel verwenden, z. wenn Sie auch Kunden haben möchten, die keine Bestellartikel haben

Es empfiehlt sich außerdem, den Tabellenalias auch für die Spalten in der Auswahlliste zu verwenden. Dadurch wird die Anweisung verständlicher (weil man sofort weiß, aus welcher Tabelle welche Spalte kommt) und stabiler gegenüber Änderungen.