Access SQL: FROM-klausel

See on üks mitmest Access SQL-i käsitlevast artiklist. Artiklis kirjeldatakse, kuidas kirjutada FROM-klauslit, ning tuuakse näiteid, et illustreerida erinevaid tehnikaid, mida saab FROM-klausli juures kasutada.

SELECT-klauslis määrate FROM-klausli andmeallikad. FROM-klausel võib sisaldad ka JOIN-toimingut. JOIN-toimingu abil saate vastendada ja kombineerida kahest andmeallikast (nt kaks tabelit või tabel ja päring) pärit andmeid.

Access SQL-i ülevaate leiate artiklist Accessi SQL: põhimõtted, sõnavara ja süntaks.

Selle artikli teemad

Andmeallikate määramine

Andmeallikate asendusnimede kasutamine

Seotud andmete ühendamine

Andmeallikate määramine

SELECT-klauslis määrab FROM-klausel tabelid või päringud, mis sisaldavad neid andmeid, mida SELECT-klausel kasutab.

Oletagem, et soovite teada kindla kliendi telefoninumbrit. Kui seda teavet sisaldava väljaga tabeli nimi on tblCustomer, on FROM-klausel selline:

FROM tblCustomer

Nime saate ümbritseda nurksulgudega. Kui nimes pole ühtegi tühikut ega erimärki (nt kirjavahemärki), on nurksulgude kasutamine valikuline. Kui nimes on mõni tühik või erimärk, tuleb nurksulge kasutada.

Näpunäide. : Tühikuid sisaldavat nime on hõlpsam lugeda ning see aitab vormide ja aruannete loomisel aega kokku hoida, ent SQL-lausete kirjutamisel võib selle tõttu olla vaja rohkem teksti sisestada. Kui panete objektidele Accessi andmebaasis nimesid, peaksite sellega arvestama.

Andmeallikate asendusnimede kasutamine

Teil on võimalik SELECT-klauslis olevale tabelile viitamiseks kasutada teist nime. Selleks saate kasutada FROM-klauslis tabelipseudonüümi. Tabelipseudonüüm on nimi, mille määrate päringus andmeallikale, kui kasutate andmeallikana avaldist või kui soovite muuta SQL-lause sisestamise ja lugemise lihtsamaks. Sellest on eriti palju abi siis, kui andmeallika nimi on pikk ja seda on keeruline sisestada, eriti kui teil on mitu erinevatest tabelitest pärit sama nimega välja.

Kui soovite näiteks valida andmed kahelt väljalt (mõlema nimi on ID), millest üks on pärit tabelist tblCustomer ja teine tabelist tblOrder, võib teie SELECT-klausel välja näha selline:

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

Kui kasutate FROM-klauslis tabelipseudonüüme, on päringu sisestamine lihtsam. Teie FROM-klausel võib koos tabelipseudonüümidega välja näha selline:

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

Seejärel saate kasutada neid tabelipseudonüüme oma SELECT-klauslis järgmiselt:

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

Märkus. : Kui kasutate tabelipseudonüüme, saate SQL-lauses viidata tabelile pseudonüümi või tabeli täisnime abil.

Seotud andmete ühendamine

Kui peate kahest andmeallikast pärit kirjete paari kombineerima päringutulemis üheks kirjeks, saate seda teha ühendamise teel. Ühendamine on SQL-toiming, mis määrab, kuidas on kaks andmeallikat omavahel seotud ja kas ühest andmeallikast pärit andmed tuleks kaasata, kui sellel pole teisest andmeallikast pärit vastavaid andmeid.

Kahest andmeallikast pärit teabe kombineerimiseks teete ühendamise väljal, mis on neil kahel andmeallikal ühine. Kui sellel väljal talletatavad väärtused kattuvad, kombineeritakse tulemustes kirjetest pärit andmed.

Lisaks andmete kombineerimisele saate ühendamise abil määrata, kummast tabelist pärit kirjed soovite kaasata, kui seotud tabelis pole vastavat kirjet.

Oletagem näiteks, et soovite päringus kasutada kahest tabelist pärit andmeid: tblCustomer ja tblOrder. Kummaski tabelis on väli CustomerID, mis tähistab klienti. Igal tabelis tblCustomer oleval kirjel võib tabelis tblOrder olla üks või mitu vastavat kirjet ja vastavad väärtused saab määratleda väärtustega väljal CustomerID.

Kui soovite tabelid ühendada, et päring kombineeriks tabelitest pärit kirjed, välja arvatud kummagi tabeli kirjed juhul, kui teises tabelis pole vastavat kirjet, võib teie FROM-klausel välja näha selline (reapiir on siia lisatud lugemise hõlbustamiseks):

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

Accessis toimub ühendamine SELECT-lause FROM-klauslis. Ühendamisi on kaht tüüpi: sisemised ja välised ühendamised. Järgmistes lõikudes kirjeldatakse kaht tüüpi ühendamisi.

Sisemised ühendamised

Sisemised ühendamised on kõige levinumat tüüpi ühendamised. Sisemise ühendamisega päringu käitamise korral kaasatakse päringutulemitesse ainult need kirjed, millel on mõlemas ühendatud tabelis ühine väärtus.

Sisemisel ühendamisel on järgmine süntaks (reapiir on lisatud ainult lugemise hõlbustamiseks):

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

Järgmises tabelis kirjeldatakse toimingu INNER JOIN erinevaid osi.

Osa

Kirjeldus

tabel1, tabel2

Nende tabelite nimed, mille kirjed liidetakse.

väli1, väli2

Ühendatavate väljade nimed. Kui need pole numbriväljad, peab väljadel olema sama andmetüüp ja need peavad sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.

võrdlusmärk

Suvaline relatsiooniline võrdlusmärk: "=", "<", ">", "<=", ">=" või "<>".

Välised ühendamised

Välised ühendamised sarnanevad sisemiste ühendamistega, andes päringule teada, kuidas kombineerida kahest allikast pärit andmeid. Erinevus seisneb selles, et need määravad ka selle, kas lisaks tuleb kaasata andmed, kus pole ühist väärtust. Välised ühendamised on suunatavad: saate määrata, kas soovite kaasata kõik kirjed esimesest ühenduses määratud andmeallikast (vasakpoolne ühendamine) või kaasata kõik kirjed teisest ühenduses olevast andmeallikast (parempoolne ühendamine).

Välise ühendamise süntaks on järgmine:

FROM tabel1 [ LEFT | RIGHT ] JOIN tabel2
ON tabel1.väli1võrdlusmärk tabel2.väli2

Järgmises tabelis kirjeldatakse toimingute LEFT JOIN ja RIGHT JOIN erinevaid osi.

Osa

Kirjeldus

tabel1, tabel2

Nende tabelite nimed, mille kirjed liidetakse.

väli1, väli2

Ühendatavate väljade nimed. Väljadel peab olema sama andmetüüp ja need peavad sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.

võrdlusmärk

Suvaline relatsiooniline võrdlusmärk: "=", "<", ">", "<=", ">=" või "<>".

Lisateavet ühendamiste kohta leiate artiklist Tabelite ja päringute ühendamine.

Lehe algusse

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×