Če poizvedbe ne delujejo dovolj močno, lahko rezultate osredotočite tako, da dodate SQL osnovnih izjav. O poglejmo nekaj vrst stavkov SQL in stavkov ali delov, ki jih boste morda uredili, da dobite želene rezultate.
Opomba: Ta članek ne velja za spletne Accessove programe – vrsto zbirke podatkov, ki jo ustvarite z Accessom in objavite v spletu.
V tem članku
Ustvarjanje izjave »Izberi«
Izjava za izbiranje SQL ima dva do tri stavke. Stavek SELECT pove zbirki podatkov, kje naj poišče podatke, in jo pozove, da vrne določen rezultat.
Opomba: Izjave SELECT se vedno končajo s podpičjem (;) na koncu zadnjega stavka ali v vrstici na koncu stavka SQL.
Spodnja izjava za izbiranje zahteva, da Access pridobi informacije iz stolpcev E-poštni naslov in Podjetje iz tabele Stiki, še posebej, kjer v stolpcu Mesto najde »Seattle«.
V zgornji poizvedbi so trije stavki SELECT, FROM in WHERE.
1. V stavku SELECT so navedeni stolpci s podatki, ki jih želite uporabiti, in ima operator (SELECT), kateremu sledita dva identifikatorja (E-poštni naslov in Podjetje). Če ima identifikator presledke ali posebne znake (na primer »E-poštni naslov«), postavite identifikator med oglate oklepaje.
2. Stavek FROM določa izvorno tabelo. V tem primeru ima operator (FROM), kateremu sledi identifikator (Stiki).
3. Stavek WHERE je izbirni stavek. V primeru je operator (WHERE), kateremu sledi izraz (Mesto="Seattle").
Če želite več informacij o poizvedbah za izbiranje, glejte Ustvarjanje preproste poizvedbe za izbiranje.
Tukaj je seznam pogostih stavkov SQL:
Stavek SQL |
Kaj omogoča |
Ali je zahtevano ? |
SELECT |
Navede polja z želenimi podatki. |
Da |
FROM |
Navede tabele s polji, ki so navedeni v stavku SELECT. |
Da |
WHERE |
Določi pogoje za polja, ki morajo biti izpolnjeni za vsak zapis, za katerega želite, da je vključen v rezultatih. |
Ne |
ORDER BY |
Določi, kako razvrstiti rezultate. |
Ne |
GROUP BY |
V izjavi SQL z združenimi funkcijami navaja polja, ki niso povzeta v stavku SELECT. |
Le, če so takšna polja |
HAVING |
V izjavi SQL, ki ima združene funkcije, določa pogoje za polja, povzeta v izjavi SELECT. |
Ne |
Vsak stavek SQL je sestavljen iz izrazov. Tukaj je seznam nekaterih pogostih pogojev SQL.
Pogoj SQL |
Definicija |
Primer |
identifikator |
Ime, ki ga uporabljate za prepoznavanje predmeta zbirke podatkov, kot je ime stolpca. |
[E-poštni naslov] in podjetje |
operator |
Ključna beseda, ki predstavlja dejanje ali ga spreminja. |
AS |
konstanta |
Vrednost, ki se ne spreminja, kot je številka ali NULL. |
42 |
izraz |
Kombinacija identifikatorjev, operaterjev, konstant in funkcij, s katerimi ocenjujete vrednost. |
>= Izdelki.[Cena enote] |
Prilagajanje stavka SELECT
Prilagajanje |
Primer |
Če si želite ogledati le razlikovalne vrednosti. Uporabite ključno besedo DISTINCT v stavku SELECT. |
Če so vaše stranke na primer iz več različnih podružnic in imajo nekatere isto telefonsko številko in želite, da je telefonska številka navedena le enkrat, bi bil vaš stavek SELECT podoben temu:
|
Če želite spremeniti način prikaza identifikatorja v pogledu podatkovnega lista, da izboljšate berljivost. Uporabite operator AS (Ključna beseda, ki predstavlja dejanje ali spremeni dejanje) z vzdevek polja v stavku SELECT. Vzdevek polja je ime, ki ga dodelite polju, da omogočite lažje branje rezultatov. |
|
Prilagajanje stavka FROM
Prilagajanje |
Primer |
Uporabite lahko vzdevek tabele ali drugo ime, ki ga dodelite tabeli v izjavi za izbiranje. Vzdevek tabele je uporaben, če je ime imena tabele dolgo, še posebej, če imate več polj z istim imenom iz različnih tabel. |
Če želite izbrati podatke iz dveh polj z imenom »ID«, od katerih eno izhaja iz tabele »tblCustomer«, drugo pa iz tabele »tblOrder«:
Z operatorjem AS določite vzdevke tabele v stavku FROM:
V stavku SELECT lahko nato uporabite te vzdevke tabele, in to tako:
|
S združevanji združite pare zapisov iz dveh virov podatkov v en rezultat ali pa določite, ali želite vključiti zapise iz katere koli tabele, če v povezani tabeli ni ustreznega zapisa. Združite tabele tako, da poizvedba združi elemente iz tabel in izključi elemente, če v drugi tabeli ni ustreznega zapisa. |
Oglejte si, kako je videti stavek FROM:
|
Uporaba združevanj
Obstajata dve vrsti združevanj, notranja in zunanja združevanja. Notranja združevanja so najpogostejša v poizvedbah. Ko zaženete poizvedbo z notranjim združevanjem, rezultat prikaže le elemente, kjer skupna vrednost obstaja v obeh združenih tabelah.
Zunanja združevanja določajo, ali je treba vključiti podatke, kjer skupna vrednost ne obstaja. Zunanja združevanja so usmerjevalna, kar pomeni, da lahko določite, ali želite vključiti vse zapise iz prve tabele, navedene v združevanju (imenovanega levo združevanje), ali vključiti vse zapise iz druge tabele v združevanju (imenovanega desno združevanje). Zunanje združevanje ima to sintakso SQL:
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
Če želite več informacij o uporabi združevanj v poizvedbi, glejte Združevanje tabel in poizvedb.
Prilagajanje stavka WHERE
Stavek WHERE vključuje pogoje, ki pomagajo omejiti število vrnjenih elementov v poizvedbi. Oglejte si primere pogojev poizvedbe in njihov način dela.
Primer, kako lahko prilagodite osnovni stavek WHERE, je omejevanje rezultatov poizvedbe; Denimo, da želite poiskati telefonsko številko stranke in si zapomniti le njegov priimek Koel. V tem primeru so priimki shranjeni v polju Priimek, tako da bi bila sintaksa SQL:
WHERE [LastName]='Bagel'
Stavek WHERE uporabite tudi za združevanje virov podatkov za stolpce z ujemajočimi se podatki, vendar z različnimi vrstami podatkov. To je še priročno, saj ne morete ustvariti združevanja med polji z različnimi vrstami podatkov. Uporabite eno polje kot pogoj za drugo polje s ključno besedo LIKE . Če želite na primer uporabiti podatke iz tabele »Osnovna sredstva« in »Zaposleni«, le če ima vrsta sredstva v polju z vrsto sredstva v tabeli »Sredstva« številko 3 v polju »Količina« tabele »Zaposleni«, si lahko ogledate, kako bi bil videti vaš stavek WHERE:
WHERE field1 LIKE field2
Pomembno: V stavku WHERE ne morete določiti pogojev za polje, ki se uporablja z združevalno funkcijo. Namesto tega uporabite stavek HAVING za določanje pogojev za združena polja.
Prilagajanje z operaterjem UNION
Operator UNION uporabite, če si želite ogledati združen pogled rezultatov iz več podobnih poizvedb za izbiranje. Če ima zbirka podatkov na primer tabelo »Izdelki« in »Storitve«, obe pa imata tri polja: ekskluzivna ponudba ali izdelek ali storitev, cena, jamstvo ali jamstvo. Čeprav so v tabeli »Izdelki« shranjeni podatki o jamstvu, v tabeli »Storitve« pa so shranjeni podatki o jamstvu, so osnovni podatki enaki. S poizvedbo za združevanje lahko združite tri polja iz dveh tabel tako:
SELECT name, price, warranty, exclusive_offer
FROM Products UNION ALL SELECT name, price, guarantee, exclusive_offer FROM Services;
Ko zaženete poizvedbo, so podatki iz vsakega nabora ustreznih polj združeni v eno izhodno polje. Če želite v rezultate vključiti podvojene vrstice, uporabite operator ALL.
Opomba: Izjava Select mora imeti enako število izhodnih polj, v enakem vrstnem redu in z istimi ali združljivimi vrstami podatkov. Za namene poizvedbe za združevanje sta vrsti podatkov »Število« in »Besedilo« združljivi
Če želite več informacij o poizvedbah za združevanje, glejte Uporaba poizvedbe za združevanje za ogled poenotenega rezultata iz več poizvedb.