Elektanta Datumoj En Rangoj en SQL

Enkondukante la kondiĉon de DIE kaj inter ĉiuj kondiĉoj

La Strukturita Konsila Lingvo (SQL) provizas datumojn de datumbazoj kun la kapablo krei personecigitajn konsultojn por ĉerpi informojn de datumbazoj. En antaŭa artikolo, ni esploris ĉerpi informojn de datumbazo per SQL-SELEKaj demandoj . Ni ekspansiiĝu sur tiu diskuto kaj esploru kiel vi povas plenumi antaŭajn demandojn por rekuperi datumojn, kiuj kongruas kun specifaj kondiĉoj.

Ni konsideras ekzemplon bazitan sur la ofte uzata Nordawind-datumbazo, ofte kun ŝipoj kun datumbazoj kiel lernilo.

Jen ekstrakto de la tabelo de Produkto de la datumbazo:

Produkta Tablo
ProductID ProduktoName ProvizantoID KvantoPerUnit Prezo unuopa UnitsInStock
1 Chai 1 10 skatoloj x 20 sakoj 18.00 39
2 Chang 1 24 - 12 oz boteloj 19.00 17
3 Anizita Syrup 1 12 - 550 ml boteloj 10.00 13
4 Chef Anton's Cajun Sezonado 2 48 - 6 oz-kruĉoj 22.00 53
5 Chef Anton's Gumbo-Miksaĵo 2 36 skatoloj 21.35 0
6 Abomenindaj infanoj de Grandma 3 12 - 8 oz-kruĉoj 25.00 120
7 Onklo Bob's Organic Dry Pears 3 12 - 1 lb pkgs. 30.00 15

Simplaj limoj

La unuaj limigoj, kiujn ni metos sur nian konsulton, implikas simplajn limojn. Ni povas specifi ĉi tiujn en la suba bazo de la SELECT-konsulto, uzante simplajn kondiĉajn deklarojn konstruitajn kun normaj operatoroj, kiel <,>,> =, kaj <=.


Unue ni provu simplan demandon, kiu permesas al ni ĉerpi liston de ĉiuj produktoj en la datumbazo, kiuj havas UnitPrice de pli ol 20.00:

Elektu ProductName, UnitPrice FROM produktoj KIE UnuecoProice> 20.00

Ĉi tio produktas liston de kvar produktoj, kiel montriĝas sube:

ProduktoName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun Sezonigado 22.00 Grandma's Boysenberry Spread 25.00 Unika Bob's Organic Dry Pears 30.00

Ni ankaŭ povas uzi la KD-klaŭzon kun kordoj-valoroj. Ĉi tio esence egaligas karakterojn al nombroj, kun A reprezentanta la valoron 1 kaj Z reprezentas la valoron 26. Ekzemple, ni povus montri ĉiujn produktojn kun nomoj komencantaj per U, V, W, X, Y aŭ Z kun la sekva konsulto:

SELECTU ProduktoName DE produktoj KIE ProduktoName> = 'T'

Kiu produktas la rezulton:

ProduktoName ------- Onklo Bob's Organic Dry Pears

Esprimante Rangojn uzante limojn

La KAJ klaŭzo ankaŭ ebligas al ni efektivigi varian kondiĉon je valoro per uzado de pluraj kondiĉoj. Ekzemple, se ni deziras preni nian demandon supre kaj limigi la rezultojn al produktoj kun prezoj inter 15.00 kaj 20.00, ni povus uzi la jenan konsulton:

Elektu ProductName, UnitPrice FROM produktoj KIE UnuecoPro> 15.00 Kaj UnitPrice <20.00

Ĉi tio produktas la rezulton montrita sube:

ProduktoName UnitPrice ------- -------- Chai 18.00 Ŝanĝo 19.00

Esprimante Rangojn kun VI

SQL ankaŭ provizas sinsekvan kongruan sintakson, kiu reduktas la nombro da kondiĉoj, kiujn ni bezonas por inkluzivi kaj faras la konsulton pli legebla. Ekzemple, anstataŭ uzi la du kondiĉojn de DIE supre, ni povus esprimi la saman konsulton kiel:

Elektu ProductName, UnitPrice FROM produktoj KIE UnuePro VIA 15.00 Kaj 20.00

Kiel kun niaj aliaj kondiĉaj klaŭzoj, BETWEEN ankaŭ funkcias kun ŝnuraj valoroj. Se ni volis produkti liston de ĉiuj landoj, kiuj komencas kun V, W aŭ X, ni povus uzi la konsulton:

SELECTU ProduktoName DE produktoj KIE ProduktaName KUNU "A" kaj "D"

Kiu produktas la rezulton:

ProduktoName ------- Aniseced Syrup Chai Chang Chef Anton's Gumbo Mix Chef de Anton's Cajun Seasoning

La KAJ klaŭzo estas potenca parto de la SQL-lingvo, kiu permesas al vi restrikti rezultojn al valoroj falanta ene de specifaj gamoj. Ĝi estas tre ofte uzata por helpi esprimi komercan logikon kaj devus esti parto de la iloj de ĉiu datumbaza profesia.

Ofte estas helpema korpigi komunajn klaŭzojn en stokatan proceduron por atingi ĝin al tiuj sen SQL-scio.