Izberite Podatki znotraj obsega v SQL

click fraud protection

The Strukturirani poizvedbeni jezik (SQL) uporabnikom baz podatkov omogoča ustvarjanje prilagojenih poizvedb za pridobivanje informacij iz baz podatkov. V prejšnjem članku smo raziskali pridobivanje informacij iz baze podatkov z uporabo poizvedb SQL SELECT. Razširimo to razpravo in raziščimo, kako lahko napredujete poizvedbe za pridobivanje podatkov, ki ustreza specifičnim pogojem.

Oglejmo si primer, ki temelji na pogosto uporabljenih Northwind baza podatkov, ki je pogosto priložen izdelkom iz zbirke podatkov kot vadnico.

Tu je izvleček iz tabele izdelkov zbirke podatkov:

ProductID Ime izdelka ID dobavitelja QuantityPerUnit Cena na enoto UnitsInStock
1 Chai 1 10 škatel x 20 vrečk 18.00 39
2 Chang 1 24 - 12 oz steklenice 19.00 17
3 Janežev sirup 1 12 - 550 ml steklenice 10.00 13
4 Kuharski začimb Cajun Anton 2 48 - 6 oz kozarci 22.00 53
5 Gumbo mešanica kuharja Antona 2 36 škatel 21.35 0
6 Babičin namaz Boysenberry 3 12 - 8 oz kozarci 25.00 120
7 Ekološko posušene hruške strica Boba 3 12 - 1 lb pkgs. 30.00 15
Tabela izdelkov

Preprosti robni pogoji

instagram viewer

Prve omejitve, ki jih bomo postavili za poizvedbo, vključujejo preproste robne pogoje. Te lahko določimo v stavku WHERE poizvedbe SELECT z uporabo preprostih stavkov pogojev, izdelanih s standardnimi operatorji, kot so ,> = in <=.

Najprej poskusimo s preprosto poizvedbo, ki nam omogoča, da izvlečemo seznam vseh izdelkov v bazi, ki imajo UnitPrice več kot 20,00:

IZBERITE ProductName, UnitPrice
IZ izdelkov
KJE UnitPrice> 20.00

Tako dobite seznam štirih izdelkov, kot je prikazano spodaj:

ProductName UnitPrice

Chef Anton's Gumbo Mix 21.35
Začimba kuharja Antona Cajun 22.00
Babičin namaz Boysenberry 25.00
Ekološko posušene hruške strica Boba 30.00

Uporabimo lahko tudi stavek WHERE z vrednostmi niza. To v bistvu enači znake s števili, pri čemer A predstavlja vrednost 1, Z pa vrednost 26. Na primer, lahko prikažemo vse izdelke z imeni, ki se začnejo z U, V, W, X, Y ali Z z naslednjo poizvedbo:

IZBERITE ProductName
IZ izdelkov
WHERE ProductName> = 'T'

Kar daje rezultat:

Ime izdelka

Ekološko posušene hruške strica Boba

Izražanje obsegov z uporabo meja

Stavek WHERE nam omogoča tudi izvajanje pogoja obsega za vrednost z uporabo več pogojev. Če bi na primer želeli uporabiti zgornjo poizvedbo in rezultate omejiti na izdelke s cenami med 15.00 in 20.00, bi lahko uporabili naslednjo poizvedbo:

IZBERITE ProductName, UnitPrice
IZ izdelkov
KJE UnitPrice> 15.00 IN UnitPrice <20.00

Tako dobimo spodnji rezultat:

ProductName UnitPrice

Čaj 18.00
Chang 19.00

Izražanje obsegov MED

SQL ponuja tudi bližnjico med sintakso, ki zmanjšuje število pogojev, ki jih moramo vključiti, in naredi poizvedbo bolj berljivo. Na primer, namesto da bi uporabili zgornja pogoja WHERE, bi lahko izrazili isto poizvedbo kot:

IZBERITE ProductName, UnitPrice
IZ izdelkov
KJE Enota Cena MED 15.00 IN 20.00

Tako kot pri naših drugih pogojih, tudi BETWEEN deluje z vrednostmi niza. Če bi želeli sestaviti seznam vseh držav, ki se začnejo z V, W ali X, bi lahko uporabili poizvedbo:

IZBERITE ProductName
IZ izdelkov
KJE IME PROIZVODA MED "A" in "D"

Kar daje rezultat:

Ime izdelka

Janežev sirup
Chai
Chang
Gumbo mešanica kuharja Antona
Kuharski začimb Cajun Anton

Stavek WHERE je močan del jezika SQL, ki vam omogoča, da rezultate omejite na vrednosti, ki spadajo v določene obsege. Zelo pogosto se uporablja za izražanje poslovne logike in bi moral biti del orodij vsakega strokovnjaka za baze podatkov. Pogosto je koristno, če v shranjeni postopek vključimo pogoste klavzule, da bodo dostopne tistim, ki nimajo znanja SQL.

instagram story viewer