Odaberite Podaci unutar raspona u SQL-u

The Strukturirani jezik upita (SQL) pruža korisnicima baza podataka mogućnost stvaranja prilagođenih upita za izdvajanje podataka iz baza podataka. U ranijem članku istražili smo izdvajanje podataka iz baze podataka pomoću SQL SELECT upita. Proširimo tu raspravu i istražimo kako možete napredno raditi upiti za preuzimanje podataka koji odgovara određenim uvjetima.

Razmotrimo primjer zasnovan na uobičajenom korištenju Sjeverni vjetar baza podataka, koja se često isporučuje s proizvodima baze podataka kao vodič.

Evo izvatka iz tablice proizvoda baze podataka:

Identifikacijski broj proizvoda Ime proizvoda ID dobavljača QuantityPerUnit Jedinična cijena UnitsInStock
1 Chai 1 10 kutija x 20 vrećica 18.00 39
2 Chang 1 Boce od 24 - 12 oz 19.00 17
3 Sirup od anisa 1 Boce od 12 - 550 ml 10.00 13
4 Cajun začin kuhara Antona 2 Staklenke od 48 - 6 oz 22.00 53
5 Gumbo mix kuhara Antona 2 36 kutija 21.35 0
6 Namaz od bakinog dječaka 3 Staklenke od 12 - 8 oz 25.00 120
7 Organske suhe kruške ujaka Boba 3 12 - 1 kg kg. 30.00 15
Tablica proizvoda

Jednostavni rubni uvjeti

instagram viewer

Prva ograničenja koja ćemo postaviti na naš upit uključuju jednostavne granične uvjete. To možemo odrediti u klauzuli WHERE upita SELECT, koristeći jednostavne izraze uvjeta konstruirane sa standardnim operatorima, kao što su ,> = i <=.

Prvo, pokušajmo s jednostavnim upitom koji nam omogućuje izdvajanje popisa svih proizvoda u bazi podataka koji imaju UnitPrice veću od 20,00:

ODABERITE Naziv proizvoda, UnitPrice
OD proizvoda
GDJE Jedinična cijena> 20,00

Ovo daje popis četiri proizvoda, kao što je prikazano u nastavku:

ProductName UnitPrice

Gumbo mix kuhara Antona 21.35
Začin za kuhanje chefa Antona Cajun 22.00
Namaz od bakine bosenice 25.00
Organske suhe kruške strica Boba 30.00

Također možemo koristiti klauzulu WHERE s nizovnim vrijednostima. To u osnovi izjednačava znakove s brojevima, pri čemu A predstavlja vrijednost 1, a Z predstavlja vrijednost 26. Na primjer, mogli bismo prikazati sve proizvode s imenima koja počinju s U, V, W, X, Y ili Z sa sljedećim upitom:

ODABERITE ProductName
OD proizvoda
WHERE ProductName> = 'T'

Što daje rezultat:

Ime proizvoda

Organske suhe kruške ujaka Boba

Izražavanje raspona pomoću granica

Klauzula WHERE također nam omogućuje da implementiramo uvjet raspona na vrijednost pomoću višestrukih uvjeta. Na primjer, ako smo željeli uzeti naš upit iznad i ograničiti rezultate na proizvode s cijenama između 15.00 i 20.00, mogli bismo upotrijebiti sljedeći upit:

ODABERITE Naziv proizvoda, UnitPrice
OD proizvoda
GDJE UnitPrice> 15,00 I UnitPrice <20,00

To daje rezultat prikazan u nastavku:

ProductName UnitPrice

Chai 18,00
Chang 19.00

Izražavanje raspona IZMEĐU

SQL također nudi prečac IZMEĐU sintakse koji smanjuje broj uvjeta koje trebamo uključiti i čini upit čitljivijim. Na primjer, umjesto da koristimo dva gore navedena uvjeta WHERE, mogli bismo izraziti isti upit kao:

ODABERITE Naziv proizvoda, UnitPrice
OD proizvoda
GDJE Jedinična cijena IZMEĐU 15.00 I 20.00

Kao i kod ostalih naših uvjetnih klauzula, IZMEĐU njih također rade vrijednosti niza. Ako bismo željeli izraditi popis svih zemalja koje počinju s V, W ili X, mogli bismo upotrijebiti upit:

ODABERITE ProductName
OD proizvoda
GDJE Naziv proizvoda IZMEĐU "A" i "D"

Što daje rezultat:

Ime proizvoda

Sirup od anisa
Chai
Chang
Gumbo mix kuhara Antona
Cajun začin kuhara Antona

Klauzula WHERE snažan je dio SQL jezika koji vam omogućuje ograničavanje rezultata na vrijednosti koje se nalaze unutar određenih raspona. Vrlo se često koristi za izražavanje poslovne logike i trebao bi biti dio svakog alata stručnjaka za baze podataka. Često je korisno uvrstiti uobičajene klauzule u pohranjenu proceduru kako bi bila dostupna onima koji ne znaju SQL.

instagram story viewer