Access SQL: osnovni koncepti, rečnik i sintaksa

Access SQL: osnovni koncepti, rečnik i sintaksa

Kada želite da preuzmete podatke iz baze podataka, tražite podatke pomoću strukturiranog upita jezika ili SQL. SQL je jezik računara koji liči na engleski, ali te programe baze podataka razumeju. Svaki upit koji koristite koristi SQL u pozadini.

Razumevanje kako SQL Works može da vam pomogne da kreirate bolje upite i može da vam olakša da shvatite kako da popravite upit koji ne daje željene rezultate.

Ovo je jedan od skupova članaka o usluzi Access SQL. Ovaj članak opisuje osnovnu upotrebu sistema SQL da biste izabrali podatke i koristite primere za ilustrovanje SQL sintakse.

U ovom članku

Šta je to SQL?

SQL je jezik računara za rad sa skupovima činjenica i vezama između njih. Relacioni programi baze podataka, kao što je Microsoft Office Access, koriste SQL za rad sa podacima. Za razliku od mnogo jezika na računaru, SQL nije teško čitati i razumeti, čak ni za poиetnika. Kao i mnogi jezici na računaru, SQL je Međunarodni standard koji priznaju neka od standardnih tela kao što su ISO i ANSI.

SQL koristite da biste opisali skupove podataka koji vam mogu pomoći da odgovorite na pitanja. Kada koristite SQL, morate da koristite ispravnu sintaksu. Sintaksa je skupa pravila pomoću kojih su elementi jezika ispravno kombinovani. SQL sintaksa zasnovana je na Engleskoj sintaksi i koristi veliki broj istih elemenata kao Visual Basic for Applications (VBA) sintakse.

Na primer, jednostavna SQL instrukcija koja preuzima listu prezimena za kontakte čiji je ime Meri možda podseća na ovo:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Napomena: SQL se ne koristi samo za manipulisanje podacima, već i za kreiranje i izmenu dizajna objekata baze podataka, kao što su tabele. Deo sistema SQL koji se koristi za kreiranje i menjanje objekata baze podataka naziva se jezik za definiciju podataka (DDL). Ova tema ne pokriva DDL. Više informacija potražite u članku Kreiranje ili izmena tabela ili indeksa pomoću upita za definiciju podataka.

IZBOR izvoda

Da biste opisali skupu podataka pomoću programa SQL, napisaćete SELECT naredbu. Naredba SELECT sadrži kompletan opis skupa podataka koje želite da nabavite iz baze podataka. To obuhvata sledeće:

  • Koje tabele sadrže podatke.

  • Kako se odnose podaci iz raznih izvora.

  • Polja ili izračunavanja će proizvesti podatke.

  • Kriterijumi koje podaci moraju da se podudaraju da bi bili uključeni.

  • Da li i kako da sortirate rezultate.

SQL klauzule

Kao rečenica, SQL izraz ima odredbe. Svaka klauzula izvršava funkciju za SQL naredbu. Neke odredbe su neophodne u izjavi SELECT. Sledeća tabela navodi najčešće SQL klauzule.

SQL klauzula

Šta radi

Obavezno

SELECT

Navodi polja koja sadrže podatke od interesovanja.

Da

FROM

Navodi tabele koje sadrže polja navedena u odredbi SELECT.

Da

WHERE

Navodi kriterijume polja koja mora da se ispunjava svakim zapisom da bi se uključivala rezultati.

Ne

PORUDŽBINU PO

Navodi kako da sortirate rezultate.

Ne

GROUP BY

U SQL izjavi koja sadrži agregatne funkcije, izaberite polja koja se ne rezimuju u odredbi SELECT.

Samo ako postoje takva polja

HAVING

U SQL izjavi koja sadrži agregatne funkcije, navodi uslove koji se primenjuju na polja koja se rezimuju u naredbi SELECT.

Ne

SQL uslovi

Svaka SQL klauzula se sastoji od termina – kao i delova govora. Sledeća tabela navodi tipove SQL termina.

SQL termin

Sliиan deo govora

Definicija

Primer

katora

imeničke

Ime koje koristite za identifikovanje objekta baze podataka, kao što je ime polja.

Njih. [Broj telefona]

operator

glagol ili prilog

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

AS

konstanta

imeničke

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

42

izraz

pridevske

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

>= proizvodi. [Cena po jedinici]

Vrh stranice

Osnovne SQL klauzule: biranje, od i gde

SQL izraz uzima opšti obrazac:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Napomene: 

  • Access zanemaruje prelamanje redova u SQL izrazu. Međutim, razmislite o korišćenju reda za svaku klauzulu kako biste poboljšali čitljivost SQL izveštaja za sebe i druge.

  • Svaka naredba SELECT završava se polutačkom (;). Poludvotačka se može pojaviti na kraju poslednje odredbe ili u samoj liniji na kraju SQL naredbe.

Primer u programu Access

Sledeće ilustruje šta SQL izraz za jednostavan upit za izdvajanje može da izgleda u programu Access:

Kartica SQL objekta prikazuje instrukciju SELECT

1. SELECT klauzula

Odredba FROM 2.

3. WHERE

Ovaj primer SQL izraz čita "izaberite podatke koji su uskladišteni u poljima koja se zovu e-adresa i preduzeće iz tabele pod imenom" Kontakti ", naročito oni zapisi u kojima je vrednost polja grad" Seattle ".

Hajde da pogledamo na primer jednu odrednicu, da bismo videli kako funkcioniše SQL sintaksa.

Klauzula SELECT

SELECT [E-mail Address], Company

Ovo je odredba SELECT. Sastoji se od operatora (izbor), a zatim dva identifikatora ([e-adresa] i preduzeće).

Ako identifikator sadrži razmake ili specijalne znakove (kao što je "e-adresa"), mora biti u uglastim zagradama.

Klauzula SELECT ne mora da navodi koje tabele sadrže polja i ne može da odredi uslove koje podaci moraju da ispune.

Klauzula SELECT se uvek pojavljuje ispred odredbi FROM u izjavi SELECT.

Odredba FROM

FROM Contacts

Ovo je klauzula FROM. Sastoji se od operatora (FROM), a zatim identifikator (kontakti).

Odredba FROM ne navodi polja koja treba da se izaberu.

Odredba WHERE

WHERE City="Seattle"

Ovo je odredba WHERE. Sastoji se od operatora (gde je), a zatim izraz (grad = "Seattle").

Napomena: Za razliku od odredbi SELECT i FROM, odredba WHERE nije potreban element izjave SELECT.

Možete postići mnoge radnje koje SQL omogućava da uradite pomoću odredbi SELECT, iz i WHERE. Više informacija o načinu na koji koristite ove klauzule prikazuje se u ovim dodatnim člancima:

Vrh stranice

Sortiranje rezultata: PORUDŽBINA po

Kao što je Microsoft Excel, Access vam omogućava da sortirate rezultate upita u listu sa podacima. Možete da navedete i u upitu kako želite da sortirate rezultate kada se upit pokrene, pomoću odredbe ORDER BY. Ako koristite odredbu ORDER BY, to je poslednja klauzula u SQL izrazu.

Odredba ORDER BY sadrži listu polja koja želite da koristite za sortiranje, istim redosledom na koji želite da primenite operacije sortiranja.

Na primer, pretpostavimo da želite da rezultati budu sortirani po vrednosti preduzeća polja u opadajućem redosledu i — ako postoje zapisi sa istom vrednošću za preduzeće – sortirani pored vrednosti u e-adresi polja po rastućem redosledu. Odredba ORDER BY bi liиila na sledeće:

ORDER BY Company DESC, [E-mail Address]

Napomena: Access podrazumevano sortira vrednosti po rastućem redosledu (A-Z, najmanje od najvećeg). Koristite ključnu reč da biste sortirali vrednosti u opadajućem redosledu.

Više informacija o odredbi ORDER BY potražite u članku Odredba ORDER BY.

Vrh stranice

Rad sa rezimiranim podacima: GRUPISANJE i posedovanje

Ponekad želite da radite sa rezimiranim podacima, kao što su Ukupna prodaja u mesecu ili najskuplje stavke na zalihama. Da biste to uradili, primenite funkcija zbira na polje u odredbu SELECT. Na primer, ako želite da upit prikazuje broj e-adresa navedenih za svako preduzeće, odredba SELECT može da liči na sledeće:

SELECT COUNT([E-mail Address]), Company

Agregatne funkcije koje možete da koristite zavise od tipa podataka koji se nalazi u polju ili izrazu koji želite da koristite. Više informacija o dostupnim agregatnim funkcijama potražite u članku agregatne funkciječlanka.

Navođenje polja koja se ne koriste u agregatnoj funkciji: odredba GROUP BY

Kada koristite agregatne funkcije, obično morate da kreirate i GRUPU po. Odredba GROUP BY navodi sva polja na koja ne primenjuju agregatnu funkciju. Ako primenite agregatne funkcije na sva polja u upitu, ne morate da kreirate odredbu GROUP BY.

Odredba GROUP BY odmah prati odredbu WHERE ili odredbu FROM ako ne postoji odredba WHERE. Odredba GROUP BY navodi polja koja se pojavljuju u odredbi SELECT.

Na primer, nastavak prethodnog primera, ako odredba SELECT primenjuje agregatnu funkciju na [e-adresu], ali ne i na preduzeće, odredba GRUPISANJA bi liиila na sledeće:

GROUP BY Company

Više informacija o odredbi GROUP BY potražite u članku tema " GRUPIŠI po".

Ograničavanje agregatnih vrednosti pomoću kriterijuma grupe: klauzula

Ako želite da koristite kriterijume za ograničavanje rezultata, ali polje na koje želite da primenite kriterijume koristi se u agregatnoj funkciji, ne možete da koristite odredbu WHERE. Umesto toga, koristite odredbu. Odredba WHERE funkcioniše kao odredba WHERE, ali se koristi za zbirne podatke.

Na primer, pretpostavimo da koristite funkciju AVG (koja izračunava prosečnu vrednost) sa prvim poljem u odredbi SELECT:

SELECT COUNT([E-mail Address]), Company

Ako želite da upit ograničava rezultate na osnovu vrednosti te funkcije COUNT, ne možete da koristite kriterijume za to polje u odredbi WHERE. Umesto toga, stavljate kriterijume u odredbu "Where". Na primer, ako želite da upit vraća redove samo ako postoji više e-adresa povezanih sa kompanijom, odredba WHERE može da liči na sledeće:

HAVING COUNT([E-mail Address])>1

Napomena: Upit može da ima odredbu WHERE i odredbu "Where" – kriterijume za polja koja se ne koriste u agregatnoj funkciji idu u odredbi WHERE, a kriterijumi za polja koja se koriste sa agregatnim funkcijama idu u odredbi WHERE.

Više informacija o odredbi WHERE potražite u okviru klauzulasa temom.

Vrh stranice

Kombinovanje rezultata upita: UNION

Kada želite da pregledate sve podatke koje je sastavio nekoliko sličnih upita za izdvajanje, kao kombinovani skupa, koristite operator sindikata.

Operator sindikata vam omogućava da kombinujete dve izjave za izbor u jedan. Izabrane izjave koje kombinujete moraju da imaju isti broj izlaznih polja, istim redosledom i sa istim ili kompatibilnim tipovima podataka. Kada pokrećete upit, podaci iz svakog skupa odgovarajućih polja kombinovane su u polje "izlaz", tako da izlaz upita ima isti broj polja kao i svaki od odabranih izvoda.

Napomena: Za svrhe upita za sindikat, tipovi podataka broj i tekst su kompatibilni.

Kada koristite operator sindikata, možete da navedete i da li rezultati upita treba da uključe duplirane redove, ako postoji, pomoću sve ključne reči.

Osnovna SQL sintaksa za upit za združivanje koji kombinuje dve naredbe SELECT:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Na primer, pretpostavimo da imate tabelu pod imenom "Proizvodi" i drugu tabelu "usluge". Obe tabele imaju polja koja sadrže ime proizvoda ili usluge, vrednost, uslugu, garanciju ili garanciju dostupnosti i bilo da isključivo nudite proizvod ili uslugu. Iako tabela "Proizvodi" skladišti informacije o garanciji, a tabela "usluge" skladišti garancije informacija, osnovne informacije su iste (da li određeni proizvod ili usluga uključuju obećanje kvaliteta). Možete da koristite upit za združivanje, na primer sledeće, da biste kombinovali četiri polja iz dve tabele:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Više informacija o tome kako da kombinujete naredbe SELECT pomoću operatora UNION potražite u članku Kombinovanje rezultata nekoliko upita za izdvajanje pomoću upita za Uniju.

Vrh stranice

Potrebna vam je dodatna pomoć?

Razvijte Office 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! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×