To je eden od člankov o strežniku SQL aplikacije Access. V tem članku je opisano, kako napisati stavek FROM, poleg tega pa so s primeri ponazorjene različne tehnike, ki jih lahko uporabite v stavku FROM.
V izjavi SELECT določite vire podatkov v stavku FROM. Stavek FROM lahko vsebuje tudi operacijo JOIN. Z operacijo JOIN poskrbite za ujemanje in kombiniranje podatkov iz dveh podatkovnih virov, kot sta dve tabeli ali tabela in poizvedba.
Za pregled strežnika SQL aplikacije Access preberite članek Strežnik SQL aplikacije Access: osnovni koncepti, besednjak in sintaksa.
V tem članku
Določanje virov podatkov
V izjavi SELECT stavek FROM določa tabele ali poizvedbe, ki vsebujejo podatke, ki jih bo stavek SELECT uporabljal.
Denimo, da želite poznati telefonsko številko določene stranke. Če predvidimo, da je tabela, ki vsebuje polje, v katerem so ti podatki shranjeni, poimenovana »tblCustomer«, bi bil stavek FROM podoben temu:
FROM tblCustomer
Ime lahko obdajate z oglatimi oklepaji. Če ime ne vsebuje presledkov ali posebnih znakov (kot so ločila), so oglati oklepaji izbirni. Če ime vsebuje presledke ali posebne znake, morate uporabiti oklepaje.
Namig: Ime, ki vsebuje presledke, laže preberete, hkrati pa prihranite čas, ko oblikujete obrazce in poročila, vendar boste morda na koncu morali vnašati več, ko boste pisali izjave SQL. Premislite o tem dejstvu, ko poimenujete predmete v Accessovi zbirki podatkov.
Za vire podatkov uporabite nadomestna imena
Za sklicevanje na tabelo v izjavi SELECT lahko uporabite drugo ime z uporabo vzdevka tabele v stavku FROM. Vzdevek tabele je ime, ki ga dodelite viru podatkov v poizvedbi, ko uporabite izraz kot vir podatkov, ali ga uporabite za poenostavitev vnašanja in branja izjave SQL. To je lahko zlasti uporabno, če je ime vira podatkov dolgo ali težko za vnašanje, še posebej, če obstaja več polj iz različnih tabel z enakim imenom.
Na primer, če želite izbrati podatke iz dveh polj z imenom »ID« in eno polje izhaja iz tabele »tblCustomer«, drugo pa iz tabele »tblOrder«, bo vaš stavek SELECT morda podoben temu:
SELECT [tblCustomer].[ID], [tblOrder].[ID]
Če v stavku FROM uporabljate vzdevke tabel, lahko poenostavite vnašanje poizvedbe. Vaš stavek FROM, ki vsebuje vzdevke tabel, bo morda podoben temu:
FROM [tblCustomer] AS [C], [tblOrder] AS [O]
Nato lahko te vzdevke tabele uporabite v stavku SELECT, in sicer tako:
SELECT [C].[ID], [O].[ID]
Opomba: Če uporabljate vzdevek tabele, se lahko sklicujete na tabelo v izjavi SQL z uporabo vzdevka ali uporabo polnega imena tabele.
Združevanje podatkov v relaciji
Če potrebujete način za združevanje parov zapisov iz dveh virov podatkov v en zapis v rezultatu poizvedbe, lahko izvedete združevanje. Združevanje je operacija SQL, ki določa način povezovanja dveh virov podatkov in določa, ali je treba vključiti podatke iz enega vira, če v drugem viru ni ustreznih podatkov.
Če želite združiti informacije iz dveh virov podatkov, izvedete operacijo združevanja v polju, ki jima je skupno. Če se vrednosti, shranjene v tem polju, ujemajo, so podatki iz zapisov združeni v rezultatih.
Poleg združevanja podatkov lahko z združevanjem določite, ali želite vključiti zapise iz ene od teh dveh tabel, če v tabeli z relacijo ni ustreznega zapisa.
Recimo, da želite v poizvedbi uporabiti podatke iz dveh tabel: tblCustomer in tblOrder. Obe tabeli imata polje CustomerID, ki identificira stranko. Vsak zapis v tabeli tblCustomer ima lahko enega ali več ustreznih zapisov v tabeli tblOrder, ustrezne vrednosti pa je mogoče določiti z vrednostmi v polju »ID Stranke«.
Če želite združiti tabele tako, da poizvedba združuje zapise iz tabel, pri čemer so zapisi iz katere koli tabele izključeni, če v drugi tabeli ni ustreznega zapisa, bo stavek FROM morda podoben temu (tukaj je zaradi berljivosti dodan prelom vrstice):
FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]
V Accessu pride do združevanja v stavku FROM v izjavi SELECT. Obstajata dve vrsti združevanj: notranja in zunanja združevanja. V naslednjih odsekih sta razloženi ti dve vrsti združevanj.
Notranja združevanja
Notranja združevanja so najpogostejša vrsta združevanja. Če je zagnana poizvedba z notranjim združevanjem, so v rezultate poizvedbe vključeni le zapisi, pri katerih skupna vrednost obstaja v obeh združenih tabelah.
Notranje združevanje ima to sintakso (tukaj je zaradi berljivosti dodan prelom vrstice):
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
V tej tabeli so opisani različni deli operacije INNER JOIN.
Del |
Opis |
tabela1, tabela2 |
Imena tabel z zapisi, ki so združeni. |
polje1, polje2 |
Imena polj, ki so združena. Če polja niso številčna, morajo biti istega podatkovni tip in imeti isto vrsto podatkov, ni jim pa treba imeti istega imena. |
compopr |
Kateri koli relacijski primerjalni operator: "=," "<," ">," "<=," ">=," ali "<>." |
Zunanja združevanja
Zunanja združevanja so podobna notranjim, ker določajo, kako bo poizvedba združevala informacije iz dveh virov. So drugačna, ker določajo tudi, ali je treba vključiti podatke, ki ne vsebujejo nobene skupne vrednosti. Zunanja združevanja so usmerjevalna: določite lahko, ali je treba vključiti vse zapise iz prvega vira podatkov, določenega v združevanju (imenovanega levo stikanje), ali vključiti vse zapise iz drugega vira podatkov v združevanju (imenovanega desno stikanje).
Zunanje združevanje ima to sintakso:
FROM tabela1 [ LEFT | RIGHT ] JOIN tabela2
ON tabela1.polje1primerjalnioperator tabela2.polje2V tej tabeli so opisani različni deli operacij »LEFT JOIN« in »RIGHT JOIN«.
Del |
Opis |
tabela1, tabela2 |
Imena tabel z zapisi, ki so združeni. |
polje1, polje2 |
Imena polj, ki so združena. Polja morajo biti istega podatkovnega tipa in imeti isto vrsto podatkov, ni jim pa treba imeti istega imena. |
compopr |
Kateri koli relacijski primerjalni operator: "=," "<," ">," "<=," ">=," ali "<>." |
Če želite več informacij o združevanjih, preberite članek Združevanje tabel in poizvedb.