Die Verbindungstypen in Oracle sind in innere Verbindungen und äußere Verbindungen unterteilt. Innere Verknüpfungen geben nur Ergebnisse für übereinstimmende Zeilen zurück, während äußere Verknüpfungen übereinstimmende Zeilen und Zeilen zurückgeben, die nur in einer Tabelle vorkommen. Es gibt drei Arten von Outer-Joins: Left-Outer-Join (gibt alle Zeilen der linken Tabelle zurück), Right-Outer-Join (gibt alle Zeilen der rechten Tabelle zurück) und Full-Outer-Join (gibt alle Zeilen von beiden Seiten der Tabelle zurück). Das Merkmal der inneren Verknüpfung besteht darin, Zeilen abzugleichen. Die linke äußere Verknüpfung verwendet NULL, um die Nullwerte der rechten Tabelle zu füllen, die rechte äußere Verknüpfung verwendet NULL, um die Nullwerte der linken Tabelle zu füllen, und die vollständige äußere Verknüpfung verwendet NULL Füllen Sie die Nullwerte auf beiden Seiten der Tabelle aus.
Der Unterschied zwischen Inner Joins und Outer Joins in Oracle
Definition:
Typ:
Es gibt drei Arten von Outer-Joins:
Unterschied:
Eigenschaften | Innere Verbindung | Linke äußere Verbindung | Rechte äußere Verbindung | Volle äußere Verbindung |
---|---|---|---|---|
Übereinstimmung Prinzip | Nur Übereinstimmung mit Zeile | Linke Tabelle Übereinstimmung | Rechte Tabellenübereinstimmung | Beide Seitentabellenübereinstimmung |
Zeile zurückgeben | Zeile abgleichen | Alle Zeilen der linken Tabelle | Alle Zeilen der rechten Tabelle | Alle Zeilen der beiden Seitentabellen |
Nullwertverarbeitung | Nur übereinstimmende Zeilen anzeigen | Füllen Sie die leeren Werte der rechten Tabelle mit NULL | Füllen Sie die leeren Werte der linken Tabelle mit NULL | Füllen Sie die leeren Werte der linken Tabelle mit NULL |
Beispiel:
Angenommen, es gibt zwei Tabellen:
id
, name
id
, name
id
, address
内连接:
<code>SELECT * FROM A INNER JOIN B ON A.id = B.id;</code>
返回:仅具有匹配 id
的行。
左外连接:
<code>SELECT * FROM A LEFT OUTER JOIN B ON A.id = B.id;</code>
返回:所有来自表 A 的行,以及具有匹配 id
Tabelle B: id
, address
<code>SELECT customers.name, orders.order_date, products.product_name FROM customers LEFT OUTER JOIN orders ON customers.id = orders.customer_id LEFT OUTER JOIN products ON orders.product_id = products.id;</code>🎜🎜Rückgabe: 🎜Nur Zeilen mit passender
id
. 🎜🎜🎜Linker äußerer Join: 🎜🎜rrreee🎜🎜Rückgabe: 🎜Alle Zeilen aus Tabelle A und Zeilen aus Tabelle B mit passender id
(falls vorhanden). Nicht übereinstimmende Zeilen werden mit NULL gefüllt. 🎜🎜🎜Beispielabfrage: 🎜🎜🎜Die folgende Abfrage verknüpft Daten aus zwei Tabellen mithilfe eines linken äußeren Joins und zeigt alle Kunden und ihre Adressen an: 🎜rrreee🎜Durch das Verständnis des Unterschieds zwischen inneren Verknüpfungen und äußeren Verknüpfungen können Entwickler diese Verbindungen verwenden effektiv Daten aus verschiedenen Tabellen extrahieren und spezifische Datenabfrageanforderungen erfüllen. 🎜Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Inner Join und Outer Join in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!