Uređivanje SQL izraza radi izoštravanja rezultata upita

Uređivanje SQL izraza radi izoštravanja rezultata upita

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Ako vam upiti nisu dobri, uz nešto osnovnih SQL izraza mogli biste izoštriti rezultate. Pogledajmo nekoliko vrsta SQL izraza i njihovih dijelova koje biste mogli urediti te dobiti željene rezultate.

Napomena :  Ovaj se članak ne odnosi na web-aplikacije programa Access, tj. vrstu baze podataka koju stvarate pomoću programa Access i objavljujete na internetu.

Sadržaj članka

Stvaranje izraza SELECT

Prilagodba uvjeta SELECT

Prilagodba uvjeta FROM

Prilagodba uvjeta WHERE

Prilagodba pomoću operatora UNION

Stvaranje izraza Select

SQL izraz za odabir sastoji se od dva do tri uvjeta. Uvjet SELECT bazi podataka govori gdje tražiti podatke i od nje traži određene rezultate.

Napomena : Svaka naredba SELECT završava točkom sa zarezom (;) na kraju zadnje naredbe ili u zasebnom retku na kraju SQL naredbe.

Sljedeća naredba za odabiranje od Accessa traži dohvaćanje podataka iz stupaca Adresa e-pošte i Tvrtka iz tablice Kontakti, i to onih gdje se u stupcu Grad nalazi vrijednost "Sisak".

Tablica SQL objekata koja prikazuje naredbu SELECT

Gore navedeni upit sadrži tri uvjeta: SELECT, FROM i WHERE.

1. Uvjet SELECT navodi stupce koji sadrže podatke koje želite koristiti i ima operator (SELECT) nakon kojega slijede dva identifikatora (Adresa e-pošte i Tvrtka). Ako identifikator sadrži razmake ili posebne znakove (kao što je identifikator "Adresa e-pošte"), potrebno ga je staviti u uglate zagrade.

2. Uvjet FROM utvrđuje izbornu tablicu. U ovome primjeru sastoji se od operatora (FROM) nakon kojega slijedi identifikator (Kontakti).

3. Uvjet WHERE je neobavezan uvjet. U primjeru se sastoji od operatora (WHERE) nakon kojega slijedi izraz (Grad="Sisak").

Dodatne informacije o upita odabiranja potražite stvoriti jednostavan upit s odabiranjem.

Slijedi popis uobičajenih SQL uvjeta:

SQL uvjet

Funkcija

Obavezno ?

SELECT

Daje popis polja koja sadrže relevantne podatke.

Da

FROM

Navodi tablice koje sadrže polja navedena u uvjetu SELECT.

Da

WHERE

Određuje kriterije polja s kojima se svaki zapis mora podudarati da bi bio uvršten u rezultate.

Ne

ORDER BY

Pobliže opisuje način sortiranja rezultata.

Ne

GROUP BY

U SQL naredbi koja sadrži agregatne funkcije popisuje polja koja nisu sažeta u uvjetu SELECT.

Samo ako ima takvih polja

HAVING

U SQL naredbi koja sadrži agregatne funkcije navodi uvjete koji se primjenjuju na polja sažeta u naredbi SELECT.

Ne

Svaka se SQL naredba sastoji od izraza. U sljedećoj su tablici popisane vrste SQL izraza.

SQL izraz

Definicija

Primjer

identifikator

Naziv koji se koristi za prepoznavanje objekta baze podataka, primjerice naziv stupca.

[Adresa e-pošte] i Tvrtka

operator

Ključna riječ koja predstavlja radnju ili je pobliže označuje.

AS

konstanta

Vrijednost koja se ne mijenja, primjerice broj ili NULL.

42

izraz

Kombinacija identifikatora, operatora, konstanti i funkcija koje se svode na jednu vrijednost.

>= Proizvodi.[Jedinična cijena]

Vrh stranice

Prilagodba uvjeta SELECT

Prilagodba

Primjer

Samo za prikaz točno određenih vrijednosti

Upotrijebite ključnu riječ DISTINCT u svojem uvjetu SELECT.

Ako se, primjerice, vaši klijenti nalaze u nekoliko različitih područnih ureda i ako neki imaju isti broj telefona, a vi želite da se taj broj prikaže samo jedanput, vaš će uvjet SELECT izgledati ovako:

SELECT DISTINCT [txtCustomerPhone] 

Promjena izgleda identifikatora u prikazu podatkovne tablice radi bolje čitljivosti

Upotrijebite operator AS (ključnu riječ koja predstavlja radnju ili mijenja radnju) uz pseudonim polja u svojem uvjetu SELECT. Pseudonim polja jest naziv koji dodjeljujete polju da bi rezultati bili čitljiviji.

SELECT [txtCustPhone] AS [Customer Phone]

Prilagodba uvjeta FROM

Prilagodba

Primjer

Možete upotrijebiti alias tablice ili drugi naziv koji dodjeljujete tablici u naredbi za odabir. Alias tablice koristan je u slučajevima kada je naziv tablice dug, pogotovo kada imate više polja koja imaju isti naziv iz različitih tablica.

Da biste odabrali podatke iz dva polja koja se oba zovu ID, ali jedno potječe iz tablice tblKlijent, a drugo iz tablice tblNarudžba:

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

Upotrijebite operator AS da biste definirali aliase tablice u uvjetu FROM:

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

Te aliase tablice možete koristiti u uvjetu SELECT kako slijedi:

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

Upotrijebite spojeve da biste spojili parove zapisa iz dva podatkovna izvora u jedinstven rezultat ili da biste odredili trebali li uvrstiti zapise iz određene tablice ako nema odgovarajućih zapisa u povezanoj tablici.

Spojite tablice tako da se u upitu pojavljuju stavke iz tablica, ali ne i stavke za koje ne postoji odgovarajući zapis u drugoj tablici

Evo kako bi mogao izgledati uvjet FROM:

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

O korištenju spojeva

Postoje dvije vrste spojeva: unutarnji ili vanjski. Unutarnji spojevi najčešća su vrsta spoja u upitima. Kada se pokrene upit s unutarnjim spojem, jedini zapisi uvršteni u rezultate upita jesu zapisi za koje postoji zajednička vrijednost u obje spojene tablice.

Vanjski spojevi određuju treba li uvrstiti podatke kada ne postoje zajedničke vrijednosti. Vanjski spojevi sadrže informacije o smjeru: možete odrediti želite li uvrstiti sve zapise iz prvog izvora podataka navedenog u spajanju (tzv. lijevog spoja) ili sve zapise iz drugog izvora podataka u spajanju (tzv. desnog spoja). Vanjski spoj ima sljedeću SQL sintaksu:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Potražite dodatne informacije o korištenju spojeva u upitu spajanje tablica i upita.

Vrh stranice

Prilagodba uvjeta WHERE

Uvjet WHERE uključuje kriterije koji olakšava ograničiti broj stavki u rezultatima u upitu. Pogledajte primjere kriterija upita i njihovo funkcioniranje.

Jedan primjer načina na koji se može prilagoditi osnovni uvjet WHERE jest ograničavanje rezultata upita. Recimo da želite pronaći telefonski broj klijenta, a sjećate se samo da mu je prezime Bagel. U ovome su primjeru prezimena pohranjena u polju LastName pa će SQL sintaksa biti:

WHERE [LastName]='Bagel'

Korištenjem uvjeta WHERE i da biste spojili izvori podataka za stupce koji imaju odgovarajuće podatke, ali različite vrste podataka. To je koristan jer ne možete stvoriti spoj između polja koja sadrže različite vrste podataka. Korištenje jednog polja kao kriterija za drugog polja, kao što su ključne riječi. Ako, na primjer, ako želite koristiti podatke iz tablice resursi i tablica Zaposlenici samo kada upišite vrstu resursa u imovine polja tablice sadržaja sadrži broj 3 u polju Količina tablici Zaposlenici, Evo kako će izgledati WHERE uvjet :

WHERE field1 LIKE field2

Važno :  U uvjetu WHERE ne možete navesti kriterij za polje koje se koristi s funkcijom zbrajanja. U tom se slučaju koristi uvjet HAVING da bi se odredio kriterij zbrojenih polja.

Vrh stranice

Prilagodba pomoću operatora UNION

Operatorom UNION poslužite se kada želite da vam se prikaže zajednički prikaz rezultata iz nekoliko sličnih upita odabira. Ako vaša baza podataka, primjerice, sadrži tablicu Products i tablicu Services, a obje tablice sadrže tri polja: ekskluzivnu ponudu proizvoda ili usluge, cijenu i jamstvo. Iako tablica Products pohranjuje podatke o jamstvu, a to čini i tablica Services, osnovni su podaci isti. Možete se poslužiti upitom s unijom da biste kombinirali tri polja iz dvije tablice na sljedeći način:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Kada pokrenete upit, podaci iz oba skupa odgovarajućih polja zajednički se svrstavaju u jedno izlazno polje. Da biste u rezultate uvrstili i duplicirane retke, poslužite se operatorom ALL.

Napomena :  Naredba odabira mora imati isti broj izlaznih polja koja se pojavljuju istome redoslijedu te sadrže istu ili kompatibilnu vrstu podataka. Za potrebe upita s unijom, vrste podataka Broj i Tekst su kompatibilne.

Dodatne informacije o upitima s unijom potražite u članku Korištenje upita s unijom za pregled objedinjenih rezultata iz većeg broja upita.

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×