SQL OUTER JOIN (Suomi)
Yhteenveto: Tässä opetusohjelmassa opit käyttämään SQL: n ulkoista liitosta, mukaan lukien vasen ulompi liitos, oikea ulompi liitos ja koko ulompi liitos.
Jos haluat oppia SQL INNER JOIN -työkalusta, tutustu siihen SQL INNER JOIN -oppaaseen.
OUTER JOIN -mallia on kolmenlaisia: vasen ulompi liitos, oikea ulompi ja täydellinen ulompi liitos. Tarkastellaan kutakin liitostyyppiä tarkemmin.
SQL OUTER JOIN – vasen ulompi liitos
SQL vasen ulompi liitos tunnetaan myös nimellä SQL left join. Oletetaan, että haluamme liittää kaksi taulukkoa: A ja B. SQL vasemmanpuoleinen liitos palauttaa kaikki vasemman taulukon rivit (A) ja kaikki vastaavat rivit oikeassa taulukossa (B). Se tarkoittaa, että vasemman SQL-liitoksen tulos sisältää aina vasemman taulukon rivit.
Seuraava kuvaa SQL-taulukon vasemman ulkoisen syntaksin yhdistämällä 2 taulukkoa: table_A ja table_B:
1
2
3
4
|
SELECT sarake1, sarake2 …
FROM table_A
VASEN LIITTYMINEN table_B ON join_condition
WHERE row_condition
|
SQL OUTER JOIN – vasemmanpuoleinen liitosesimerkki
Seuraava kysely valitsee kaikki asiakkaat ja heidän tilauksensa:
1
2
3
4
5
6
|
VALITSE c.customerid,
c.companyName,
orderid
asiakkailta c
VASEN JOIN -tilaukset o ON o.customerid = c .customerid
TILAUS tilauksen mukaan
|
Kaikki asiakastaulukon rivit on lueteltu. Siinä tapauksessa, että asiakastaulukon riville ei löydy vastaavaa riviä, tilaustaulukon orderid -sarakkeessa on NULL-arvoja.
Venn-kaavion avulla voimme visualisoida, kuinka SQL LEFT OUTER JOIN toimii.
SQL OUTER JOIN – oikea ulompi liitos
SQL oikea ulkoinen liitos palauttaa kaikki oikean taulukon rivit ja kaikki vasemmanpuoleisesta taulukosta löytyvät vastaavat rivit. Oikean SQL-liitoksen syntaksi on seuraava:
1
2
3
4
|
SELECT sarake1, sarake2 …
ALK. table_A
OIKEA LIITTYMINEN table_B ON join_condition
WHERE row_condition
|
SQL: n oikea ulompi liitos tunnetaan myös nimellä SQL: n oikea liitos.
SQL OUTER JOIN – esimerkki oikeanpuoleisesta liittymisestä
Seuraava esimerkki osoittaa SQL: n oikea ulompi liitos:
1
2
3
4
5
6
|
SELECT c.customerid,
c.yrityksenNimi,
orderi d
asiakkailta c
OIKEA LIITTYMISTilaukset o PÄÄLLÄ o.customerid = c.customerid
TILAA TILAUKSELLA tilaustiedot
|
Kysely palauttaa kaikki tilaustaulukon rivit ja kaikki vastaavat taulukot, jotka löytyvät asiakastaulukosta.
Seuraava Venn-kaavio kuvaa SQL: n oikean ulomman liitoksen toimintaa:
SQL OUTER JOIN – täydellinen ulompi liitos
SQL: n ulkoisen liitoksen syntaksi on seuraava:
1
2
3
4
|
SELECT sarake1, sarake2 …
FROM table_A
FULL OUTER JOIN table_B ON join_condition
WHERE row_condition
|
SQL: n täydellinen ulkoinen liitos palauttaa:
- kaikki ro ws vasemman taulukon taulukossa_A.
- kaikki oikean taulukon taulukon_B rivit.
- ja molemmat taulukot kaikki vastaavat rivit.
Joitakin tietokantoja hallintajärjestelmät eivät tue SQL: n täydellistä ulkoisen liitoksen syntaksia, esim. MySQL. Koska SQL: n täydellinen ulkoinen liitos palauttaa tulosjoukon, joka on sekä SQL: n vasemman liitoksen että SQL: n oikean liitoksen tulos.Siksi voit helposti jäljitellä SQL: n täydellistä ulkoista liitosta SQL vasemman liitoksen ja SQL: n oikean liitoksen avulla UNION-operaattorilla seuraavasti:
SQL OUTER JOIN – esimerkki täydellisestä ulkoisesta liittymisestä
Seuraava kysely osoittaa SQL: n täydellinen ulompi liitos:
1
2
3
4
5
6
|
SELECT c.customerid,
c.yrityksenNimi,
orderid
Asiakkailta c
TÄYDELLISET JOIN-tilaukset o ON o.customerid = c.customerid
TILAUS tilauksen mukaan
|
Seuraava Venn-kaavio kuvaa SQL: n täydellisen ulkoisen liitoksen toimintaa:
Tässä opetusohjelmassa olet oppinut erilaiset SQL OUTER JOIN, mukaan lukien SQL vasen liitos, SQL oikea liity ja SQL: n koko ulompi liitos.
- Oliko tästä opetusohjelmasta apua?
- KylläEi