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äänT1
-taulukon rivin kanssa,T2
-taulukon rivin sarakearvot yhdistetäänT1
-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