Skip to main content

Odabir podataka unutar raspona u SQL

PHP Syntax (Travanj 2025)

PHP Syntax (Travanj 2025)
Anonim

Strukturirani upitnik (SQL) pruža korisnicima baze podataka mogućnost stvaranja prilagođenih upita za izdvajanje podataka iz baza podataka. U ranijem članku istražili smo prikupljanje podataka iz baze podataka pomoću SQL SELECT upita. Proširimo tu raspravu i istražimo kako možete izvršiti napredne upite za preuzimanje podataka koji odgovaraju određenim uvjetima.Pogledajmo primjer koji se temelji na najčešće korištenoj bazi podataka Northwind, koja se često šalje s proizvodima baze podataka kao vodič.

Slijedi izvatak iz tablice proizvoda iz baze podataka:

Tablica proizvoda
Identifikacijski broj proizvodaIme proizvodaSupplierIDQuantityPerUnitJedinična cijenaUnitsInStock
1chai110 kutija x 20 vrećica18.0039
2Chang1Boce 24 - 12 oz19.0017
3Anisirani sirup1Boce od 12 do 550 ml10.0013
4Osvježenje Chef Anton's Cajun2Posude od 48 - 6 oz22.0053
5Kuhar Anton's Gumbo Mix236 kutija21.350
6Baka's Dječji šećer312 - 8 oz staklenke25.00120
7Oče Bobove organske sušene kruške312 - 1 kg pkgs.30.0015

Jednostavni granični uvjeti

Prva ograničenja koja ćemo postaviti na naš upit uključuju jednostavne granične uvjete. Navedemo ih u WHERE klauzuli SELECT upit, koristeći jednostavne izjave o stanju uvjetovane standardnim operatorima, kao što su <,>,> = i <=.

Prvo pokušajmo jednostavan upit koji nam omogućuje izdvajanje popisa svih proizvoda u bazi podataka koji imaju UnitPrice veću od 20.00:

SELECT ProductName, UnitPrice FROM proizvodi WHERE UnitPrice> 20.00

Ovo proizvodi popis od četiri proizvoda, kako je prikazano u nastavku:

ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun začinjavanje 22.00 Baba's Dječji masti Spread 25.00 Uncle Bob's organske sušene kruške 30.00

Također možemo koristiti WHERE klauzulu s nizom vrijednosti. Na primjer, možemo prikazati sve proizvode s imenima koja počinju s U, V, W, X, Y ili Z sa sljedećim uputama:

SELECT ProductName FROM products WHERE ProductName> = 'T'

Što rezultira rezultatom:

ProductName ------- Ujak Bobove organske suhe kruške

Izražavanje područja pomoću granica

Klauzula WHERE također nam omogućuje primjenu uvjeta raspona na vrijednosti upotrebom višestrukih uvjeta. Na primjer, ako bismo htjeli preuzeti naš upit i ograničiti rezultate proizvoda s cijenama od 15.00 do 20.00 sati, mogli bismo upotrijebiti sljedeći upit:

SELECT ProductName, UnitPrice FROM proizvodi GDJE JedinicaPrice> 15.00 I UnitPrice <20.00

To rezultira rezultatom prikazanim u nastavku:

ProductName UnitPrice ------- -------- Chai 18.00 Promjena 19.00

Izražavanje raspona s MEĐU

SQL također pruža prečac IZMEĐU sintakse koja smanjuje broj uvjeta koje moramo uključiti i čini upit čistijim. Na primjer, umjesto korištenja dva gore navedena uvjeta, mogli bismo izraziti isti upit kao:

SELECT ProductName, UnitPrice FROM products WHERE UnitPrice između 15.00 i 20.00

Kao i kod ostalih klauzula o stanju, BITWEEN također radi s nizom vrijednosti. Ako bismo željeli proizvesti popis svih zemalja s V, W ili X, možemo upotrijebiti upit:

SELECT ProductName FROM products WHERE Naziv proizvoda između "A" i "D"

Što rezultira rezultatom:

ProductName ------- Anisirani sirup Chai Chang Chef Anton's Gumbo Mix Chef Anton's Cajun začin

Klauzula WHERE je moćan dio SQL jezika koji vam omogućuje ograničavanje rezultata na vrijednosti unutar određenih raspona. Vrlo se često koristi za pomoć u izražavanju poslovne logike i mora biti dio svakog stručnjaka za baze podataka.

Često je korisno ugraditi uobičajene klauzule u pohranjenu proceduru kako bi bila dostupna onima bez SQL znanja.