Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.
Uređivanje SQL izraza radi izoštravanja rezultata upita

Ako upiti ne rade dovoljno teško, dodavanje nekih osnovnih SQL može pomoći da usredotočite rezultate. Pogledajmo nekoliko vrsta SQL naredbi i uvjeta ili dijelova koje biste mogli urediti da biste dobili ž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 naredbe Odabir

SQL naredba odabira sadrži dva do tri uvjeta. Uvjet SELECT upućuje bazu podataka gdje treba potražiti podatke i traži da vrati određeni rezultat.

Napomena:  Naredbe SELECT uvijek završavaju točkom sa zarezom (;) na kraju posljednjeg uvjeta ili na samom retku na kraju SQL naredbe.

Sljedeća naredba odabira traži da Access dohvati podatke iz stupaca Adresa e-pošte i Tvrtka iz tablice Kontakti, posebno u stupcu Grad u kojem se nalazi "Seattle".

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 imaju operator (SELECT) i dva identifikatora (adresa e-pošte i tvrtka). Ako identifikator sadrži razmake ili posebne znakove (npr. "Adresa e-pošte"), identifikator stavite unutar uglatih zagrada.

2. Uvjet FROM identificira izvornu tablicu. U ovom primjeru ima operator (FROM) nakon kojeg slijedi identifikator (Kontakti).

3. Uvjet WHERE neobavezni je uvjet. U primjeru je operator (WHERE) nakon kojeg slijedi izraz (Grad="Seattle").

Dodatne informacije o upitima odabiranja potražite u članku Stvaranje jednostavnog upita odabiranja.

Ovo je popis uobičajenih SQL uvjeta:

SQL uvjet

Funkcija

Je li to obavezno ?

SELECT

Lists polja koja sadrže podatke od interesa.

Da

FROM

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

Da

WHERE

Određuje kriterije polja koje mora ispunjavati svaki zapis koji će biti uvršten u rezultate.

Ne

POREDAJ PO

Određuje kako sortirati rezultate.

Ne

GROUP BY

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

Samo ako postoje takva polja

HAVING

U SQL naredbi koja sadrži agregacijske funkcije određuje uvjete koji se primjenjuju na polja sažeta u naredbi SELECT.

Ne

Svaki SQL uvjet sastoji se od termina. Ovdje je popis nekih uobičajenih SQL termina.

SQL termin

Definicija

Primjer

Identifikator

Naziv koji koristite za identifikaciju objekta baze podataka, kao što je naziv stupca.

[Adresa e-pošte] i Tvrtka

operator

Ključna riječ koja predstavlja akciju ili mijenja akciju.

AS

konstanta

Vrijednost koja se ne mijenja, npr. broj ili NULL.

42

izraz

Kombinacija identifikatora, operatora, konstanti i funkcija koje se vrednuju kao jedna vrijednost.

>= Proizvodi. [Jedinična cijena]

Vrh stranice

Prilagodba uvjeta SELECT

Prilagodba

Primjer

Da biste vidjeli samo različite vrijednosti.

Upotrijebite ključnu riječ DISTINCT u uvjetu SELECT.

Ako su, primjerice, vaši klijenti iz nekoliko različitih podružnica, a neki imaju isti telefonski broj, a želite da se telefonski broj prikazuje samo jedanput, vaš bi uvjet SELECT bio ovako:

SELECT DISTINCT [txtCustomerPhone] 

Da biste promijenili način prikaza identifikatora u prikazu podatkovne tablice da biste poboljšali čitljivost.

Koristite operator AS (ključnu riječ koja predstavlja akciju ili mijenja akciju) s pseudonimom polja u uvjetu SELECT. Pseudonim polja naziv je koji dodjeljujete polju radi lakšeg čitanja rezultata.

SELECT [txtCustPhone] AS [Customer Phone]

Prilagodba uvjeta FROM

Prilagodba

Primjer

U naredbi odabira možete koristiti pseudonim tablice ili neki drugi naziv koji dodijelite tablici. Pseudonim tablice koristan je ako je naziv tablice dugačak, osobito ako imate više polja koja imaju isti naziv iz različitih tablica.

Da biste odabrali podatke iz dva polja, oba naziva ID, od kojih jedno dolazi iz tablice tblCustomer, a drugo iz tablice tblOrder:

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

Pomoću operatora AS definirajte pseudonime tablice u uvjetu FROM:

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

Zatim u uvjetu SELECT možete koristiti sljedeće pseudonime tablice:

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

Spajanje koristite za kombiniranje parova zapisa iz dvaju izvora podataka u jedan rezultat ili za određivanje treba li uvrstiti zapise iz bilo koje tablice ako u povezanoj tablici nema odgovarajućeg zapisa.

Pridružite tablice tako da upit kombinira stavke iz tablica i isključuje stavke kada u drugoj tablici nema odgovarajućeg zapisa

Evo kako bi uvjet FROM mogao izgledati:

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

Korištenje spoja

Postoje dvije vrste spoja, unutarnjih i vanjskih spoja. Unutrašnji spoj je uobičajeniji u upitima. Kada pokrenete upit s unutarnjim spojem, rezultat prikazuje samo one stavke u kojima zajednička vrijednost postoji u obje spojene tablice.

Vanjski spojovi određuju treba li uvrstiti podatke u kojima ne postoji zajednička vrijednost. Vanjski spojovi usmjereni su, što znači da možete odrediti želite li uvrstiti sve zapise iz prve tablice navedene u spoju (zove se lijevi spoj) ili da u spoj uvrstite sve zapise iz druge tablice (koji se zove desni spoj). Vanjski spoj sadrži sljedeću SQL sintaksu:

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

Dodatne informacije o korištenju spoja u upitu potražite u članku Spajanje tablica i upita.

Vrh stranice

Prilagodba uvjeta WHERE

Uvjet WHERE sadrži kriterije koji olakšavaju ograničavanje broja stavki vraćenih u upitu. Pogledajte primjere kriterija upita i načina na koji funkcioniraju.

Primjer prilagodbe osnovnog uvjeta WHERE jest ograničavanje rezultata upita; Pretpostavimo da želite pronaći telefonski broj klijenta i možete samo zapamtiti njegovo prezime kao Bagel. U ovom se primjeru prezimena pohranjuju u polje Prezime, pa bi SQL sintaksa bila:

WHERE [LastName]='Bagel'

Uvjet WHERE koristite i za kombiniranje izvora podataka za stupce koji sadrže podudarne podatke, ali različite vrste podataka. To je korisno jer ne možete stvoriti spoj između polja koja imaju različite vrste podataka. Koristite jedno polje kao kriterij za drugo polje s ključnom riječi LIKE . Ako, primjerice, želite koristiti podatke iz tablice Imovina i Zaposlenici, samo kada vrsta imovine u polju vrsta imovine u tablici Resursi sadrži broj 3 u polju Količina u tablici Zaposlenici, evo kako bi vaš uvjet WHERE izgledao:

WHERE field1 LIKE field2

Važno:  U uvjetu WHERE ne možete navesti kriterije za polje koje se koristi s funkcijom zbrajanja. Umjesto toga, upotrijebite uvjet HAVING da biste naveli kriterij za agregatna polja.

Vrh stranice

Prilagodba pomoću operatora UNION

Operator UNION koristite kada želite vidjeti kombinirani prikaz rezultata iz nekoliko sličnih upita odabiranja. Ako, primjerice, baza podataka sadrži tablicu Proizvodi i servise, a obje imaju tri polja: ekskluzivnu ponudu ili proizvod ili uslugu, cijenu, jamstvo ili jamstvo. Iako tablica Proizvodi pohranjuje informacije o jamstvu, a u tablici Servisi pohranjuju se podaci o jamstvu, osnovne informacije su iste. Upit s unijom možete koristiti za kombiniranje triju polja iz dviju tablica ovako:

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

Kada pokrenete upit, podaci iz svakog skupa odgovarajućih polja kombiniraju se u jedno izlazno polje. Da biste u rezultate uvrstili duplicirane retke, koristite operator ALL.

Napomena:  Naredba Select mora imati isti broj izlaznih polja, istog redoslijeda i s istim ili kompatibilnim vrstama podataka. Za potrebe upita s unijom vrste podataka Broj i Tekst kompatibilne su.

Dodatne informacije o upitima s unijom potražite u članku Prikaz objedinjenog rezultata iz više upita pomoću upita s unijom.

Vrh stranice

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×