Hoe maak je een outer join in Oracle

   October 26

Oracle outer joins zijn een manier van het weergeven van gegevens, zonder extra filtering records. Als twee tabellen bevatten gerelateerde gegevens, is er een kans dat een van de tafels records niet kunnen hebben. Dit kan alleen gebeuren als er geen beperkingen op de tafels te specificeren dat de gegevens aanwezig moet zijn. Bijvoorbeeld, indien een vennootschap een aantal klanten, is het mogelijk dat op enig moment een cliënt kan geen producten bestellen. Het omgekeerde kan ook het geval zijn, dat producten geen klant toegewezen hebben.

Instructies

1

Kies twee tabellen van Oracle database Dat kunnen er gegevens bestaan ​​in één, maar niet noodzakelijkerwijs in de andere. De tabel met de optioneel ontbrekende records worden bekend als de buitenste tabel in dit geval.

2

Kies de volgorde van de vraag, wat beslissen welke van de tabellen vermeld in de query (links of rechts) de buitenste zullen vormen join. Een voorbeeld maakt dit duidelijker als volgt:

select c.customerlastname,

p.productid

from

customer c, productorders p

where c.customerid = p.customerid;

Van deze query een beslissing moet worden gemaakt, maak je een lijst van alle productgroepen bestellingen met (of zonder) klanten of de omgekeerde situatie dwz een lijst van klanten met of zonder geplaatste opdrachten vereisen?

3

Plaats een (+) indicator om de tabel waaruit optionele rijen worden geretourneerd dwz met administratie of niet identificeren. In dit voorbeeld de tabel producten al dan niet bevelen tegen hen, en derhalve zal dit een left outer join:

select c.customerlastname,

p.productid

from

customer c, productorders p

where c.customerid = p.customerid (+);

Als de query nodig zijn om producten te vinden die kunnen geen klanten hebben tegen hen, waar clausule zou zijn:

waar c.customerid (+) = p.customerid;

4

De query en terug te keren het resultaat. Het voorbeeld links outer join worden records lijkt op het volgende terug:

c.customerlastname p.productid



Smith 123423

Jones

Carr 89.654

Bernardstein 66.543

Merk op dat voor deze left outer join, de enige klant in deze lijst, zonder een bevel is "Jones."


© 2019 botetote.com | Contact us: webmaster# botetote.com