Samenvatting: in deze tutorial leert u hoe u de RIGHT OUTER JOIN in Oracle kunt gebruiken om twee of meer tabellen samen te voegen.

Overzicht van RIGHT OUTER JOIN in Oracle

Voorstel dat we twee tabellen T1 en T2 hebben, dan laat het volgende statement zien hoe we deze twee tabellen kunnen joinen met behulp van de RIGHT OUTER JOIN-clausule in Oracle:

In dit statement zijn T1 en T2 respectievelijk de linker en de rechter tabel.

Het OUTER sleutelwoord is optioneel en daarom zijn RIGHT OUTER JOIN en RIGHT JOIN hetzelfde.

Hier ziet u hoe de RIGHT OUTER JOIN werkt.

Elke rij uit de T1 tabel wordt vergeleken met rijen uit de T2 tabel:

  • Als een paar rijen voldoet aan het join predicaat, worden de kolomwaarden van beide rijen gecombineerd tot een resultaatrij die vervolgens in de resultatenreeks wordt opgenomen.
  • In het geval dat een rij in de tabel T2 met geen enkele rij in de tabel T1 overeenkomt, worden de kolomwaarden van de rij van de tabel T2 gecombineerd met een NULL-waarde voor elke kolom van de rij van de tabel T1 om de resultaatrij te maken, die vervolgens ook in de resultatenreeks wordt opgenomen.

Met andere woorden, een right outer join retourneert alle rijen uit de rechtertabel en ook de overeenkomende rijen uit de linkertabel.

Oracle RIGHT OUTER JOIN examples

We zullen de tabellen orders en employees in de voorbeelddatabase gebruiken voor de demonstratie:

In dit schema heeft een verkoper de leiding over een of meer verkooporders. Het is echter mogelijk dat sommige verkooporders aan geen enkele verkoper zijn toegewezen.

Het volgende voorbeeld zoekt alle verkopers en hun eventuele verkooporders op:

Het resultaat bevat alle werknemers met functietitel Sales Representative en hun orders.

Als een verkoper niet verantwoordelijk is voor een verkooporder zoals Alice Wells, Charlotte Webb, worden de kolommen order_id en status gevuld met NULL-waarden.

Oracle RIGHT OUTER JOIN met USING-clausule

Gelijk aan andere joins zoals INNER JOIN, LEFT JOIN, kunt u de USING-clausule gebruiken om aan te geven welke kolom moet worden getest op gelijkheid wanneer tabellen worden samengevoegd.

Het volgende illustreert de syntaxis van de RIGHT OUTER JOIN met de USING-clausule:

In deze query moeten de kolommen die in de USING-clausule worden vermeld, voorkomen in zowel de T1– als de T2-tabellen.

De volgende verklaring is gelijkwaardig aan de bovenstaande:

De volgende verklaring laat zien hoe de RIGHT OUTER JOIN met de USING-clausule moet worden gebruikt:

In dit voorbeeld worden alle klanten in de resultatenreeks opgenomen. Als een klant geen verkooporder heeft, worden de kolommen order_id en status gevuld met NULL-waarden.

Oracle RIGHT JOIN: voorwaarde in ON- vs. WHERE-clausule

Het volgende statement verkrijgt de werknemer- en ordergegevens van de verkoper id 57.

De volgende verklaring plaatst de voorwaarde in de WHERE-clausule in plaats van in de ON-clausule:

De query leverde alle werknemers op, maar alleen de werknemer met id 57 had de bijbehorende ordergegevens.

Met betrekking tot de INNER JOIN heeft het plaatsen van de voorwaarde in de ON-clausule hetzelfde effect als het plaatsen ervan in de WHERE-clausule.

In deze zelfstudiegids hebt u geleerd hoe u de RIGHT OUTER JOIN in Oracle kunt gebruiken om gegevens uit meerdere tabellen op te vragen.

  • Was deze zelfstudiegids nuttig?
  • JaNee

admin

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

lg