Skip to main content

Az SQL tartományon belüli adatok kiválasztása

Xero: Deploying Multi-AZ and Multi-Region SQL Server (Június 2026)

Xero: Deploying Multi-AZ and Multi-Region SQL Server (Június 2026)
Anonim

A strukturált lekérdezési nyelv (SQL) lehetővé teszi az adatbázis felhasználók számára, hogy személyre szabott lekérdezéseket hozzanak létre az adatbázisokból származó információk kivonására. Egy korábbi cikkben az SQL SELECT lekérdezésekből származó adatbázisból történő kivonást vizsgáltuk. Bővítsük ezt a beszélgetést, és fedezzük fel, hogyan végezhet speciális lekérdezéseket az adott feltételeknek megfelelő adatok lekéréséhez.Vegyünk egy példát az általánosan használt Northwind adatbázisra, amely gyakran adatbázis-termékekkel együtt bemutató jellegű.

Itt van egy kivonat az adatbázis terméktáblázatából:

Terméktáblázat
Termék azonosítóTermék névSupplierIDQuantityPerUnitEgységárUnitsInStock
1Chai110 doboz x 20 zsák18.0039
2Chang124 - 12 oz-es palackok19.0017
3Ánizs szirup112 - 550 ml-es palackokat10.0013
4Anton's Cajun Fűszeres séf248 - 6 oz tégelyek22.0053
5Chef Anton's Gumbo Mix236 doboz21.350
6A nagymama's Boysenberry Spread312 - 8 oz tégelyek25.00120
7Bob bácsi szerves száraz körte312 - 1 lb pkgs.30.0015

Egyszerű határok

Az első korlátozások, amelyekre a lekérdezésünkre kerül sor, egyszerű határfeltételeket tartalmaznak. Ezeket a SELECT lekérdezés WHERE klauzulájában adhatjuk meg, a szokásos operátorokkal konstruált egyszerű feltételes utasításokkal, például <,>,> = és <=.

Először próbálkozzunk egy egyszerű lekérdezéssel, amely lehetővé teszi számunkra, hogy kiválasszunk egy listát az adatbázisban lévő olyan termékekről, amelyeknek a UnitPrice értéke több, mint 20.00:

SELECT Terméknév, egységáronktól származó termékek WHERE UnitPrice> 20.00

Ez négy termék listáját állítja össze, az alábbiak szerint:

ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun Fűszerezés 22.00 Grandma's Boysenberry Spread 25.00 Bob bácsi szerves száraz körte 30.00

A WHERE záradékot string értékekkel is használhatjuk. Ez lényegében egyenértékű a karakterekkel a számokkal, és az A érték az 1. és a Z értéket jelenti, amely a 26. értéket jelöli. Például az U, V, W, X, Y vagy Z-val kezdődő,

VÁLASSZA terméknév FROM termékek WHERE ProductName> = 'T'

Mi eredményezi az eredményt:

Terméknév ------- Bob bácsi szerves szárított körte

A határok határainak kifejezésével

A WHERE záradék lehetővé teszi számunkra, hogy több feltétel használatával egy értéktartományt is meg lehessen valósítani. Ha például fel szeretnénk venni a fenti lekérdezést, és 15:00 és 20:00 óra között korlátozni szeretnénk az eredményeket a termékekre, akkor a következő lekérdezést használhatjuk:

SELECT Terméknév, egységár RENDELKEZÉSI TERMÉKEKHEZ ahol egységár> 15,00 ÉS egységár <20,00

Ez az alábbi eredményt eredményezi:

TermékName UnitPrice ------- -------- Chai 18.00 Chang 19.00

A tartományok kifejezését BETWEEN-vel

Az SQL szintén tartalmaz egy parancsikonat, amely csökkenti a feltételeket, amelyekre szükségünk van, és megkönnyíti a lekérdezést. Például, a fenti két WHERE feltétel helyett a következő lekérdezést lehetett kifejezni:

SELECT TermékName, UnitPrice FROM termékek WHERE UnitPrice között 15.00 és 20.00

Mint a többi feltételes záradékunkhoz, BETWEEN a string értékekkel is működik. Ha a V, W vagy X névvel kezdődő összes ország listáját szeretnénk létrehozni, akkor a lekérdezést használhatjuk:

SELECT terméknév a termékek közül, ahol a terméknév az "A" és a "D"

Mi eredményezi az eredményt:

Terméknév ------- Anizsájú szirup Chai Chang Chef Anton's Gumbo Mix Chef Anton's Cajun Seasoning

A WHERE záradék az SQL nyelv egyik erőteljes része, amely lehetővé teszi az eredmények korlátozását a meghatározott tartományba eső értékekre. Nagyon általánosan használják az üzleti logika kifejtését, és minden adatbázis szakmai eszközkészletének részét kell képezniük.

Gyakran hasznos, ha a szokásos záradékokat egy tárolt eljárásba foglalja, hogy hozzáférhessen azokhoz, akiknek nincs SQL ismerete.