Uređivanje SQL instrukcija da bi se dobili precizniji rezultati upita

Uređivanje SQL instrukcija da bi se dobili precizniji rezultati upita

Važno : Ovaj članak je mašinski preveden, pogledajte odricanje odgovornosti. Pogledajte verziju ovog članka na engleskom jeziku ovde za referencu.

Ako upiti ne rade dovoljno dobro, dodavanje nekih osnovnih SQL instrukcija može da pomogne u fokusiranju rezultata. Pogledajmo nekoliko tipova SQL instrukcija i odredaba ili delova koje možete da uređujete kako biste dobili rezultate koje želite.

Napomena :  Ovaj članak se ne odnosi na Access veb aplikacije – to jest, na vrstu baze podataka koju dizajnirate pomoću programa Access i objavljujete na mreži.

U ovom članku

Kreiranje instrukcije za izdvajanje

Prilagođavanje odredbe SELECT

Prilagođavanje odredbe FROM

Prilagođavanje odredbe WHERE

Prilagođavanje pomoću operatora UNION

Kreiranje instrukcije za izdvajanje

SQL instrukcija za izdvajanje ima dve do tri odredbe. Odredba SELECT zadaje bazi podataka gde da potraži podatke i traži da vrati određeni rezultat.

Napomena : Instrukcije SELECT uvek se završavaju tačkom i zarezom (;) na kraju zadnje odredbe ili u posebnom redu na kraju SQL instrukcije.

Sledeći iskaz za izdvajanje zadaje programu Access da uzme podatke iz kolona E-adresa i Kompanija iz tabele Kontakti i to ako u koloni Grad stoji vrednost „Vršac“.

Kartica SQL objekta prikazuje instrukciju SELECT

Gornji upit ima tri odredbe: SELECT, FROM i WHERE.

1. Odredba SELECT izlistava kolone sa podacima koje želite da koristite i sadrži operator (SELECT) iza kojeg slede dva identifikatora (E-adresa i Kompanija). Ako identifikator sadrži razmake ili specijalne znakove (kao u „E-adresa“) unesite ga u uglastim zagradama.

2. Odredba FROM identifikuje izvornu tabelu. U ovom primeru sadrži operator (FROM) iza kojeg sledi identifikator (Kontakti).

3. Odredba WHERE je opcionalna odredba. Primer sadrži operator (WHERE) iza kog sledi izraz (City=„Vršac“).

Više informacija o upitima za izdvajanje pogledajte kreirati jednostavan upit za izdvajanje.

Evo liste uobičajenih SQL odredaba:

SQL odredba

Šta radi

Obavezno ?

SELECT

Popisuje polja sa podacima koji se traže.

Da

FROM

Popisuje tabele koje sadrže polja popisana u odredbi SELECT.

Da

WHERE

Navodi kriterijume polja koje zapisi moraju da ispune da bi bili uključeni u rezultate.

Ne

ORDER BY

Zadaje način sortiranja rezultata.

Ne

GROUP BY

U SQL izrazu koji sadrži agregatne funkcije, popisuje polja koja nisu rezimirana u instrukciji SELECT.

Samo ako postoje takva polja.

HAVING

U SQL instrukciji koja sadrži agregatne funkcije, navodi uslove koji se primenjuju na polja rezimirana u instrukciji SELECT.

Ne

Svaka SQL odredba sastavljena je od termina. Evo liste nekih uobičajenih SQL termina.

SQL termin

Definicija

Primer

identifikator

Ime koje koristite za identifikovanje objekta baze podataka, na primer ime kolone.

[E-adresa] i Kompanija

operator

Ključna reč koja predstavlja radnju ili menja radnju.

AS

konstanta

Vrednost koja se ne menja, kao što je broj ili NULL.

42

izraz

Kombinacija identifikatora, operatora, konstanti i funkcija koja daje jednu vrednost.

>= Proizvodi.[Jedinična cena]

Vrh stranice

Prilagođavanje odredbe SELECT

Prilagođavanje

Primer

Da biste videli samo posebne vrednosti.

Upotrebite ključnu reč DISTINCT u odredbi SELECT.

Na primer, ako kupci dolaze iz nekoliko područnih kancelarija i neki od njih imaju isti telefonski broj a vi želite da telefonski broj bude popisan samo jednom, odredba SELECT izgledala bi ovako:

SELECT DISTINCT [txtCustomerPhone] 

Da biste promenili način na koji se identifikator prikazuje u listu sa podacima kako bi se poboljšala preglednost.

U odredbi SELECT upotrebite operator AS (Ključna reč koja predstavlja radnju ili menja radnju) sa pseudonimom polja. Pseudonim polja je ime koje dodeljujete polju kako biste olakšali čitanje rezultata.

SELECT [txtCustPhone] AS [Customer Phone]

Prilagođavanje odredbe FROM

Prilagođavanje

Primer

U instrukciji za izdvajanje možete da koristite pseudonim tabele ili drugo ime koje dodelite tabeli. Pseudonim tabele je koristan ako je ime tabele dugačko, a posebno kada imate više polja sa istim imenom iz različitih tabela.

Da biste izdvojili podatke iz dva polja, oba sa imenom ID, jednog iz tabele tblKupac a drugo iz tabele tblPorudžbina:

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

Upotrebite operator AS da biste definisali pseudonime tabele u odredbi FROM :

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

Te pseudonime tabela zatim možete da koristite u odredbi SELECT na sledeći način:

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

Koristite spojeve da biste kombinovali parove zapisa iz dva izvora podataka u jedan rezultat ili kako biste zadali treba li uključiti zapise iz jedne od tabela ako u povezanoj tabeli nema odgovarajućeg zapisa.

Spojite tabele tako da upit kombinuje stavke iz njih i isključuje stavke kada nema odgovarajućeg zapisa u drugoj tabeli

Evo kako bi takva odredba FROM mogla da izgleda:

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

Osnovni podaci o korišćenju spojeva

Postoje dva tipa spojeva, unutrašnji spojevi i spoljni spojevi. Unutrašnji spojevi se češće nalaze u upitima. Kada pokrenete upit sa unutrašnjim spojem, rezultat će prikazati samo stavke za koje postoji zajednička vrednost u obe spojene tabele.

Spoljni spojevi zadaju da li će podaci biti uključeni ako zajednička vrednost ne postoji. Spoljni spojevi su usmereni, što znači da možete zadati da li će da budu uključeni svi zapisi iz prve tabele zadane u spoju (naziva se levi spoj) ili svi zapisi iz druge tabele u spoju (naziva se desni spoj). Spoljni spoj ima sledeću SQL sintaksu:

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

Pogledajte više informacija o korišćenju spojeva u upitima za spajanje tabela i upita.

Vrh stranice

Prilagođavanje odredbe WHERE

Odredbe WHERE sadrži kriterijume koji vam pomaže da ograničite broj stavki vraćena u upitu. Pogledajte primere kriterijuma upita i kako rade.

Jednostavnu odredbu WHERE možete da prilagodite tako što ćete ograničiti rezultate upita. Pretpostavimo da želite da pronađete broj telefona kupca i sećate se samo da se preziva Babić. U ovom primeru prezimena se čuvaju u polju „Prezime“ pa bi SQL sintaksa bila:

WHERE [LastName]='Bagel'

Koristite odredbe WHERE takođe da kombinujete izvore podataka za kolone koje se podudaraju sa podacima, ali različitih tipova podataka. Ovo je koristan jer ne možete da kreirate spoj između polja koja sadrže različite tipove podataka. Korišćenje jednog polja kao kriterijuma za druge polje sa ključne reči LIKE . Na primer, ako želite da biste koristili podatke iz za sredstva tabele i tabela "Zaposleni", samo kada tip resursa u sredstava otkucajte polja u tabeli sredstva ima broj 3 u polju Količina tabela zaposleni, evo kako će izgledati vaš ODREDBU WHERE :

WHERE field1 LIKE field2

Važno :  U odredbi WHERE ne možete da navedete kriterijume za polje korišćeno sa agregatnom funkcijom. Umesto toga koristite odredbu HAVING da biste zadali kriterijume za grupisana polja.

Vrh stranice

Prilagođavanje pomoću operatora UNION

Upotrebite operator UNION kada želite da vidite kombinovani prikaz rezultata iz nekoliko sličnih upita za izdvajanje. Na primer, ako baza podataka sadrži tabele Proizvodi i Usluge koje obe imaju po tri polja: posebna ponuda ili proizvod ili usluga, cena, garancija ili jemstvo. Iako tabela „Proizvodi“ čuva informacije o jemstvu a tabela Usluge informacije o garanciji, osnovna informacija je ista. Možete da upotrebite upit za združivanje da biste kombinovali tri polja iz dve tabele na sledeći način:

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

Kad pokrenete upit podaci iz svakog skupa odgovarajućih polja kombinuju se u jedno polje za izlaz. Da biste u rezultat uključili sve duplirane redove upotrebite operator ALL.

Napomena :  Instrukcije za izdvajanje moraju da imaju isti broj polja za izlaz, postavljenih po istom redosledu i sa istim ili kompatibilnim tipom podataka. Za potrebe upita za združivanje tipovi podataka „Broj“ i „Tekst“ su kompatibilni.

Više informacija o upitima za združivanje potražite u članku Korišćenje upita za združivanje za prikaz objedinjenog rezultata iz više upita.

Vrh stranice

Napomena : Odricanje odgovornosti za mašinski prevod: Ovaj članak je preveo računarski sistem bez ljudske intervencije. Microsoft nudi ove mašinske prevode da bi pomogao korisnicima koji ne govore engleski da uživaju u sadržaju o Microsoft proizvodima, uslugama i tehnologijama. Budući da je članak mašinski preveden, može da sadrži greške u rečniku, sintaksi ili gramatici.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×