Esitetään WHERE-lauseke ja ETSIN ehto
Structured Query Language (SQL) tarjoaa tietokannan käyttäjille mahdollisuuden luoda räätälöityjä kyselyjä tietokantojen tietojen poistamiseksi. Aiemmassa artikkelissa tutkittiin tietojen poistamista tietokannasta käyttäen SQL SELECT-kyselyjä . Pidennä tätä keskustelua ja selvitämme, miten voit tehdä kehittyneitä kyselyjä tietyissä olosuhteissa vastaavan datan hakemiseen.
Katsotaanpa esimerkki yleisesti käytetystä Northwind-tietokannasta, joka usein toimittaa tietokantatuotteita opetusohjelmana.
Tässä on ote tietokannan Tuotetaulukosta:
Tuotetunnus | Tuotteen nimi | SupplierID | QuantityPerUnit | Yksikköhinta | UnitsInStock |
---|---|---|---|---|---|
1 | Chai | 1 | 10 laatikkoa x 20 pussia | 18.00 | 39 |
2 | Chang | 1 | 24 - 12 oz pulloa | 19.00 | 17 |
3 | Anisoitu siirappi | 1 | 12 - 550 ml pulloja | 10.00 | 13 |
4 | Chef Antonin Cajun-maustekastike | 2 | 48 - 6 oz purkkia | 22.00 | 53 |
5 | Chef Antonin Gumbo Mix | 2 | 36 laatikkoa | 21.35 | 0 |
6 | Mummon Boysenberry Spread | 3 | 12 - 8 oz purkkia | 25.00 | 120 |
7 | Bobin orkesterin kuivatut päärynät | 3 | 12 - 1 lb pkgs. | 30.00 | 15 |
Yksinkertaiset rajoitusolosuhteet
Ensimmäiset rajoituksemme, jotka asetamme kyselyyn, sisältävät yksinkertaisia raja-olosuhteita. Voimme määrittää nämä SELECT-kyselyn WHERE-lausekkeessa käyttämällä yksinkertaisia ehtoehtoja, jotka on rakennettu tavallisilla operaattoreilla, kuten <,>,> = ja <=.
Yritetään ensin yksinkertainen kysely, jonka avulla voimme purkaa luettelon kaikista tietokannasta, joiden yksikköhinta on yli 20.00:
Tämä tuottaa luettelon neljästä tuotteesta, kuten alla on esitetty:
ProductName UnitPrice ------- -------- Chef Antonin Gumbo Mix 21.35 Keittiömestari Antonin Cajun-mausteet 22.00 Mummen Boysenberry Spread 25.00 Bobin orkesterin kuivatut päärynät 30.00Voimme käyttää WHERE-lauseketta myös merkkijonolla. Tämä merkitsee periaatteessa merkkejä numeroihin, joissa A on arvo 1 ja Z, joka edustaa arvoa 26. Esimerkiksi voimme näyttää kaikki tuotteet, joiden nimiä on U, V, W, X, Y tai Z,
VALITSE TuotteenNUMINEN TUOTTEISTA, JOTKA Tuotteen nimi> = 'T'Mikä tuottaa tuloksen:
Tuotenimi ------- Bobin orkesterin kuivatut päärynätAlueiden ilmaiseminen rajojen avulla
WHERE-lausekkeen avulla voimme myös toteuttaa alueen ehtoa arvoon käyttämällä useita ehtoja. Jos esimerkiksi halusimme ottaa kyselyn yllä ja rajoittaa tuloksia tuotteisiin, joiden hinnat ovat välillä 15.00-20.00, voimme käyttää seuraavaa kyselyä:
VALITSE Tuotenimi, yksikköhinta TUOTTEISTA, JOS yksikköhinta> 15,00 JA yksikköhinta <20,00Tämä tuottaa alla olevan tuloksen:
Tuotteen nimi Yksikköhinta ------- -------- Chai 18.00 Chang 19.00Alueiden ilmaiseminen yhdessä
SQL tarjoaa myös pikakuvakkeen syntaksi, joka vähentää niiden ehtojen lukumäärää, jotka meidän on sisällytettävä ja jotka tekevät kyselyn luettavaksi. Esimerkiksi edellä mainittujen kahden WHERE-ehdon sijaan voimme ilmaista saman kyselyn:
VALITSE Tuotenimi, yksikköhinta tuotteesta, jossa yksikköhinta välillä 15.00 ja 20.00Kuten muidenkin ehtolausekkeiden kanssa, BETWEEN toimii myös merkkijonoarvojen kanssa. Jos halusimme tuottaa luettelon kaikista maista, jotka alkavat V: lla, W: llä tai X: llä, voimme käyttää kyselyä:
VALITSE TuotteenNUMINEN TUOTTEISTA, JOTKA Tuotteenimi "A" - ja "D"Mikä tuottaa tuloksen:
Tuotteen nimi ------- Anisoitu siirappi Chai Chang Chef Antonin Gumbo Mix Chef Antonin Cajun MausteWHERE-lauseke on voimakas osa SQL-kieltä, jonka avulla voit rajoittaa tuloksia määritettyihin alueisiin. Se on hyvin yleisesti käytetty ilmaisemaan liiketoiminnan logiikkaa ja sen pitäisi olla osa jokaisen tietokannan ammattilaisen työkalupakki.
Usein hyödyllistä on sisällyttää yhteiset lausekkeet tallennettuun menettelyyn , jotta ne olisivat saatavilla niille, joilla ei ole SQL-tietämystä.