Die relationalen Oracle- Datenbank verwendet Structured Query Language oder SQL , aufzubauen und zu pflegen Datenbank-Strukturen , Daten ändern und Berichte aus den Daten . Wie bei anderen Datenbanken, die SQL verwenden, ist die JOIN-Klausel der SELECT-Anweisung grundlegend wichtig, Oracle, wie es verbindet vorübergehend getrennte Tabellen , um eine vollständigere Daten Strukturen zu bilden. Oracle 8i -Version verwendet ein Pluszeichen , um eine Variation genannt Outer-Join anzugeben. Wählen und kommen
Oracle relationale Datenbanken mit SQL SELECT-Anweisung , um Displays Listen von Daten, einschließlich Feldern in Tabellen und Ergebnisse berechnet . SELECT hat optionalen Klauseln bedingt Extraktion von Informationen , sortieren sie und schaffen Gruppe Überschriften und Summen. Mit dem JOIN-Klausel , erstellen Sie eine virtuelle Tabelle durch die Verknüpfung von zwei oder mehr getrennte Tabellen über gemeinsame Datenfelder . Zum Beispiel hat eine Tabelle orders eine Bestellnummer , Artikelnummer und Menge gekauft , aber keine Bezeichnung . Die Artikelbeschreibung liegt in der Artikel -Tabelle. Um eine Liste der Aufträge mit Beschreibungen ausdrucken , verbinden Sie die Aufträge und Items Tabellen auf dem item code . Mit dem Beitritt der beiden Tabellen , haben Sie Zugriff auf die Felder in beiden.
Inner Join
Die JOIN-Klausel in Oracle 8i SQL verfügt über eine zwei Grundvarianten , Innen-und äußere . Eine innere Verknüpfung kombiniert Datensätze aus einem Paar von Tabellen , aber wenn man Tabelle keine Datensätze, die anderen entsprechen , enthält das resultierende virtuelle Tabelle keine Datensätze für beide. Eine innere Verknüpfung enthält Einträge nur dann, wenn beide Tabellen passende Datensätze haben . Zum Beispiel hat eine Ordnung Kommentare Tisch Bestellnummer und Kommentare Felder . Nicht alle Aufträge haben Kommentare , jedoch, wenn Sie die Tabelle mit den Bestellungen um Kommentare Tisch mit einer inneren Verknüpfung zu verknüpfen, enthält die virtuelle Tabelle nur Aufträge mit Kommentaren
Explicit Outer Join
eine äußere Verknüpfung enthält immer Datensätze aus einer der beiden verknüpften Tabellen unabhängig davon, ob der andere hat passende Einträge oder nicht. Wenn die Verknüpfung ist eine linke äußere Verknüpfung enthält SQL der linken Tabelle , eine rechte äußere Verknüpfung enthält Datensätze aus der Tabelle auf der rechten Seite . Wenn der SQL- SELECT-Anweisung enthält die Wörter , " Left Outer Join " oder " RIGHT OUTER JOIN ", heißt es explizit zu verbinden. Die folgende Anweisung SELECT enthält alle um Datensätze , einschließlich derjenigen mit Kommentaren :
SELECT orders.order_number , customer_code , Kommentare FROM Bestellungen LEFT OUTER JOIN order_comments ON orders.order_number = order_comments.order_number ;
Oracle begann mit der ausdrücklichen Outer-Join -Format mit der Version 9i ihrer Software .
Implizite Outer Join
Neben einer expliziten Outer-Join , hat Oracle 8i eine optionale Syntax, So können Sie das in der WHERE-Klausel kommen . In diesem Fall geben Sie eine linke äußere , indem Sie ein Plus-Symbol auf der linken Seite ein Gleichheitszeichen kommen , eine rechte äußere Verknüpfung hat das Plus- Symbol auf der rechten Seite. Diese SELECT-Anweisung hat eine linke äußere Verknüpfung zwischen den Auftragseingang und Kommentare Tabellen wie vorher, aber es nutzt die implizite Syntax : SELECT
orders.order_number , customer_code , Kommentare von Aufträgen, order_comments WHERE orders.order_number + = order_comments . order_number ;
Obwohl die implizite äußere Verknüpfung ist kompakter und leichter zu schreiben , lieber Experten die explizite Verfahren , da es mehr eng an Standard-SQL- Syntax und vermeidet Unklarheiten in der Join- Prozess
.