Accessin SQL: FROM-lause

Tämä artikkeli kuuluu Access SQL:ää käsittelevään artikkelisarjaan. Tässä artikkelissa annetaan ohjeet FROM-lauseen kirjoittamiseen sekä esimerkkejä eri tekniikoista FROM-lauseiden käyttämiseen.

SELECT-lausekkeessa tietolähteet määritetään FROM-lauseen avulla. FROM-lause voi sisältää myös JOIN-toiminnon. JOIN-toimintoa käytetään kahden tietolähteen tietojen täsmäämiseen ja yhdistämiseen esimerkiksi kahdessa taulukossa tai taulukossa ja kyselyssä.

Jos haluat lukea yleiskatsauksen Access SQL:stä, lue ohjeartikkeli Access SQL: peruskäsitteet, sanasto ja syntaksi.

Artikkelin sisältö

Tietolähteiden määrittäminen

Vaihtoehtoisten nimien käyttäminen tietolähteille

Yhteen liittyvien tietojen liittäminen

Tietolähteiden määrittäminen

SELECT-lausekkeessa FROM-lause määrittää taulukot tai kyselyt, jotka sisältävät SELECT-lausekkeessa käytettävät tiedot.

Oletetaan, että haluat tietää tietyn asiakkaan puhelinnumeron. Olettaen, että tiedot sisältävän kentän taulukon nimi on taulAsiakas, FROM-lause näyttää jokseenkin seuraavanlaiselta:

FROM tblCustomer

Voit sulkea nimen hakasulkeisiin. Jos nimi ei sisällä välilyöntejä tai erikoismerkkejä (esimerkiksi välimerkkejä), hakasulkeet eivät ole pakollisia. Jos nimi sisältää välilyöntejä tai erikoismerkkejä, hakasulkeita on pakko käyttää.

Vihje: Välilyöntejä sisältävä nimi on helpompi lukea. Lisäksi se voi säästää aikaa lomakkeiden ja raporttien suunnittelussa, mutta se saattaa ehkä aiheuttaa sen, että sinun täytyy kirjoittaa enemmän kirjoittaessasi SQL-lauseita. Ota tämä huomioon, kun nimeät Access-tietokantasi objekteja.

Vaihtoehtoisten nimien käyttäminen tietolähteille

Voit viitata taulukkoon SELECT-lausekkeessa toisella nimellä käyttämällä FROM-lauseessa taulukon tunnusta. Taulukon tunnus on nimi, jonka määrität tietolähteelle kyselyssä, kun käytät ilmausta tietolähteenä, tai jotta SQL-lause on helpompi luoda ja lukea. Tästä voi olla hyötyä, jos tietolähteen nimi on pitkä tai hankala kirjoittaa etenkin silloin, kun lausekkeessa on useita samannimisiä kenttiä eri taulukoista.

Jos esimerkiksi haluat valita tietoja kahdesta kentästä, joiden kummankin nimi on Tunnus, joista toinen tulee taulukosta taulAsiakas ja toinen taulukosta taulTilaus, SELECT-lauseke voi näyttää seuraavanlaiselta:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Kun FROM-lauseessa käytetään taulukkojen tunnuksia, kysely on helpompi kirjoittaa. FROM-lause voi näyttää seuraavanlaiselta taulukoiden tunnusten kanssa:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Tämän jälkeen SELECT-lauseessa voi käyttää näitä taulukoiden tunnuksia seuraavasti:

SELECT [C].[ID], [O].[ID]

Huomautus: Kun käytät taulukon tunnusta, voit viitata taulukkoon SQL-lausekkeessa käyttämällä tunnusta tai taulukon koko nimeä.

Yhteen liittyvien tietojen liittäminen

Kun tarvitset keinon yhdistää tietuepareja kahdesta tietolähteestä yhdeksi tietueeksi kyselyn tuloksessa, voit suorittaa liitoksen. Liitos on SQL-toiminto, joka määrittää, miten kaksi tietolähdettä liittyvät toisiinsa ja pitääkö toisen tietolähteen tiedot sisällyttää, jos toisessa lähteessä ei ole vastaavia tietoja.

Jos haluat yhdistää kahden tietolähteen tiedot, liitostoiminto suoritetaan kentässä, joka löytyy kummastakin tietolähteestä. Kun tähän kenttään tallennetut arvot vastaavat toisiaan, tietueiden tiedot yhdistetään tuloksissa.

Tietojen yhdistämisen lisäksi liitosta voi käyttää myös sen määrittämiseen, sisällytetäänkö jommankumman taulukon tiedot, jos toisessa taulukossa ei ole vastaavaa tietuetta.

Oletetaan esimerkiksi, että haluat käyttää kyselyssä tietoja kahdesta taulukosta: taulAsiakas ja taulTilaus. Kummassakin taulukossa on kenttä Asiakastunnus, joka yksilöi asiakkaan. Kussakin taulAsiakas-taulukon tietueessa voi olla yksi tai useampia vastaavia tietueita taulTilaus-taulukossa. Vastaavat arvot voidaan määrittää Asiakastunnus-kentän arvoilla.

Jos haluat liittää taulukot siten, että kysely yhdistää tietueet taulukoista sulkien pois kummastakin taulukosta tietueet, joita vastaavaa tietuetta toisessa taulukossa ei ole, FROM-lause voi näyttää seuraavanlaiselta (rivinvaihto on lisätty luettavuuden parantamiseksi):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Accessissa liitokset tapahtuvat SELECT-lausekkeen FROM-lauseessa. Liitostyyppejä on kaksi: sisäliitokset ja ulkoliitokset. Seuraavassa osassa kuvaillaan nämä kaksi liitostyyppiä.

Sisäliitokset

Sisäliitokset ovat yleisin liitostyyppi. Kun sisäliitoksen sisältävä kysely suoritetaan, kyselyn tuloksiin sisällytetään vain ne tietueet, joissa on yhteinen arvo kummassakin liitetyssä taulukossa.

Sisäliitoksen syntaksi on seuraava (rivinvaihto on lisätty luettavuuden parantamiseksi):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Seuraavassa taulukossa kuvaillaan INNER JOIN -toiminnon eri osat.

Osa

Kuvaus

taulukko1, taulukko2

Niiden taulukkojen nimet, joista tietueet yhdistetään.

kenttä1, kenttä2

Yhdistettävien kenttien nimet. Jos ne eivät ole numeerisia, kenttien täytyy olla samaa tietotyyppi ja sisältää samantyyppisiä tietoja, mutta niiden ei tarvitse olla samannimisiä.

vertailuoperaattori

Jokin seuraavista relaatiovertailuoperaattoreista: "=", "<", ">", "<=", ">=," tai "<>."

Ulkoliitokset

Ulkoliitokset ovat samankaltaisia kuin sisäliitokset, koska ne ohjaavat kyselyn yhdistämään kahden lähteen tiedot. Ne ovat erilaisia, koska ne myös määrittävät, onko tiedot sisällytettävä, kun yhteistä arvoa ei ole. Ulkoliitoksilla on suunta: voit määrittää, sisällytetäänkö kaikki liitoksen ensimmäisessä määritetyssä tietolähteessä (eli vasemmanpuoleisessa liitoksessa) olevat tietueet vai sisällytetäänkö kaikki liitoksen toisessa tietolähteessä (eli oikeanpuoleisessa liitoksessa) olevat tietueet.

Ulkoliitoksen syntaksi on seuraava:

FROM taulukko1 [ LEFT | RIGHT ] JOIN taulukko2
ON taulukko1.kenttä1vertailuoper taulukko2.kenttä2

Seuraavassa taulukossa kuvaillaan LEFT JOIN- ja RIGHT JOIN -toimintojen eri osat.

Osa

Kuvaus

taulukko1, taulukko2

Niiden taulukkojen nimet, joista tietueet yhdistetään.

kenttä1, kenttä2

Yhdistettävien kenttien nimet. Kenttien täytyy olla samaa tietotyyppi ja sisältää samantyyppisiä tietoja, mutta niiden ei tarvitse olla samannimisiä.

vertailuoperaattori

Jokin seuraavista relaatiovertailuoperaattoreista: "=", "<", ">", "<=", ">=," tai "<>."

Lisätietoja liitoksista on artikkelissa Liitostaulukot ja -kyselyt.

Sivun alkuun

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×