Yhteenveto: Tässä opetusohjelmassa opit käyttämään Oraclen RIGHT OUTER JOIN:tä kahden tai useamman taulukon yhdistämiseen.

Yleiskatsaus RIGHT OUTER JOIN:iin Oraclessa

Yleiskatsaus RIGHT OUTER JOIN:iin Oraclessa

Yleiskatsaus RIGHT OUTER JOIN:iin Oraclessa

Yleiskatsaus RIGHT OUTER JOIN:iin Oraclessa

Yleiskatsaus RIGHT OUTER JOIN:iin Oraclessa

Asettelemme, että käytössämme on kaksi liitostaulukkoa, T1 ja T2.

Avainsana OUTER on valinnainen, joten RIGHT OUTER JOIN ja RIGHT JOIN ovat samat.

Näin RIGHT OUTER JOIN toimii.

Jokaista T1-taulukon riviä verrataan T2-taulukon riveihin:

  • Jos rivipari täyttää join-predikaatin, molempien rivien sarakearvot yhdistetään tulosriviksi, joka sisällytetään tulosjoukkoon.
  • Jos T2-taulukon rivi ei täsmää minkään T1-taulukon rivin kanssa, T2-taulukon rivin sarakearvot yhdistetään T1-taulukon rivin kunkin sarakkeen NULL-arvoon, jolloin saadaan tulosrivi, joka sitten myös sisällytetään tulosjoukkoon.

Oikea ulompi liitos palauttaa toisin sanoen kaikki rivit oikeasta taulusta ja myös vastaavat rivit vasemmasta taulusta.

Oracle RIGHT OUTER JOIN -esimerkkejä

Käytämme esimerkkitietokannan orders– ja employees-tauluja esittelyssä:

Tässä kaaviossa myyjä vastaa yhdestä tai useammasta myyntitilauksesta. Jotkin myyntitilaukset eivät kuitenkaan välttämättä ole minkään myyjän vastuulla.

Seuraavassa esimerkissä haetaan kaikki myyjät ja heidän myyntitilauksensa, jos niitä on:

Tulos sisältää kaikki työntekijät, joiden tehtävänimike on Sales Representative, ja heidän tilauksensa.

Jos myyjä ei vastaa mistään myyntitilauksesta, kuten Alice Wells, Charlotte Webb, sarakkeet order_id ja status täytetään NULL-arvoilla.

Oracle RIGHT OUTER JOIN with USING-lausekkeella

Kuten muissakin yhdistämistapauksissa, kuten INNER JOIN, LEFT JOIN, voit käyttää USING-lauseketta määrittääksesi, minkä sarakkeen yhdenvertaisuustesti suoritetaan taulukoiden yhdistämisessä.

Seuraavassa havainnollistetaan RIGHT OUTER JOIN:n syntaksia USING-lausekkeen kanssa:

Tässä kyselyssä USING-lausekkeessa lueteltujen sarakkeiden on oltava esillä sekä T1– että T2-taulukoissa.

Seuraava lauseke vastaa edellä esitettyä:

Seuraava lauseke havainnollistaa RIGHT OUTER JOIN:n käyttöä USING-lausekkeen USING kanssa:

Tässä esimerkissä kaikki asiakkaat sisältyvät tulosjoukkoon. Jos asiakkaalla ei ole myyntitilausta, sarakkeet order_id ja status täytetään NULL-arvoilla.

Oracle RIGHT JOIN: ON- vs. WHERE-lausekkeessa oleva ehto

Seuraavalla lausekkeella saadaan myyjän id 57 työntekijä- ja tilaustiedot.

Seuraava lauseke sijoittaa ehdon WHERE-lausekkeeseen ON-lausekkeen sijasta:

Kysely palautti kaikki työntekijät, mutta vain työntekijän id 57:llä oli siihen liittyvät tilaustiedot.

Huomaa, että INNER JOIN:n osalta ON-lausekkeeseen sijoitetulla ehdolla on sama vaikutus kuin WHERE-lausekkeeseen sijoitetulla ehdolla.

Tässä opetusohjelmassa olet oppinut käyttämään RIGHT OUTER JOIN-lauseketta Oraclessa tietojen kyselyyn useista taulukoista.

  • Oliko tästä opetusohjelmasta apua?
  • KylläKylläEi

admin

Vastaa

Sähköpostiosoitettasi ei julkaista.

lg