NON klausula eta egoera ENPRESA sartuz
The Structured Query Language (SQL) datu-basearen informazioa ateratzeko kontsulta pertsonalizatuak sortzeko gaitasuna ematen die datu-base erabiltzaileei. Aurreko artikulu batean SQL SELECT kontsultak erabiliz datu-base batetik ateratako informazioa esploratu dugu. Zabaldu eztabaida horretan eta kontsulta zehatzak egin ditzakezu baldintza zehatzekin bat datozen datuak berreskuratzeko.
Ikus dezagun adibide bat Northwind-en erabilitako datu-basean oinarritua, sarritan datu-baseko produktuen nabigazioa tutoretzat.
Hona hemen datu-basearen Produktuen taula zatia.
ProductID | Produktuaren izena | SupplierID | QuantityPerUnit | UNITPRICE | UnitsInStock |
---|---|---|---|---|---|
1 | Chai | 1 | 10 kaxak x 20 poltsa | 18.00 | 39 |
2 | Chang | 1 | 24-12 oz. Botila | 19.00 | 17 |
3 | Aniseed Syrup | 1 | 12 - 550 ml botila | 10.00 | 13 |
4 | Antzinako Cajun zikinaren sukaldaria | 2 | 48 - 6 oz ontziak | 22.00 | 53 |
5 | Anton Gumbo Mix sukaldaria | 2 | 36 kaxak | 21,35 | 0 |
6 | Amonaren Boysenberry Spread | 3 | 12 - 8 oz poteak | 25.00 | 120 |
7 | Uncle Bob-en Ordu Organiko Pears | 3 | 12 - 1 lb pkg. | 30.00 | 15 |
Baldintza mugak sinpleak
Gure kontsultak egingo ditugun lehen murrizketak mugarik gabeko baldintza batzuk dakartzate. Aukeratutako SELECT galderaren NON klausulan zehaztu ditzakegu, operadore estandarrekin eraiki diren egoera sinpleen adierazpenak erabiliz, <,>,> =, eta <=.
Lehenik eta behin, 20.00 baino gehiagoko unitate bat duten datu-basean dauden produktuen zerrenda bat ateratzeko aukera ematen duen kontsulta sinplea.
Horrek lau produktuen zerrenda sortzen du, behean erakusten den moduan:
ProductName UnitPrice ------- -------- Anton's Gumbo Mix Chef 21.35 Chef Anton's Cajun Seasoning 22.00 Grandma's Boysenberry Spread 25.00 Osaba Bob's Organic Dried Pears 30.00Halaber, NOLA klausula erabil dezakezu kate-balioekin. Hau, funtsean, zenbakiak karakterizatzen ditu, A balioko 1 eta Z irudikatzen duten 26 balioaren arabera. Adibidez, U, V, W, X, Y edo Z-rekin hasitako izenak dituzten produktuak erakutsi ahal izan ditugu honako galderarekin:
PRODUCT SELECT Produktuen izena PRODUCT WHERE PRODUCT => 'T'Zein emaitza sortzen du:
ProductName ------- Osaba Bob en Peras Secadas OrgánicasBarrutiak erabiliz esparruak adieraziz
WHERE klausulak ere aukera ematen du barrutiaren baldintza balore batean ezartzeko baldintza anitz erabiliz. Esate baterako, goian aipatutako kontsultak egin eta emaitzak 15.00 eta 20.00 arteko prezioekin produktuak mugatu nahi badituzu, honako kontsulta hau erabil dezakegu:
SELECT ProductName, UnitPrice FROM products WHERE UnitPrice> 15.00 AND UnitPrice <20.00Ondoren erakusten den emaitza erakusten du:
ProductName UnitPrice ------- -------- Chai 18.00 etatik 19.00 alderaLerro artean adieraziz
SQL ere eskaintzen du lasterbide bat ENTITATEEN sintaxia, eta horrek barne hartzen dituen baldintza kopurua murrizten du eta kontsulta gehiago irakurgarriagoa bihurtzen du. Adibidez, goiko bi baldintza erabili beharrean, kontsulta bera adierazi genezake:
SELECT ProductName, UnitPrice FROM products WHERE UnitPrice 15.00 eta 20.00 arteanGure beste baldintza-klausulen arabera, ENTREPEN kritika-balioekin ere funtzionatzen du. V, W edo X hasita dauden herrialde guztien zerrenda egin nahi badugu, kontsulta erabil dezakegu:
PRODUKZIOA AUKERATUTAKO PRODUKTUEN PRODUKTUAK "PRODUKTUA" NON "A" eta "D" artean.Zein emaitza sortzen du:
ProductName ------- Aniseed Syrup Chai Chang Chef Anton's Gumbo Mix Chef Anton's Cajun SeasoningWHERE klausula SQL hizkuntzaren zati indartsua da, eta horrek emaitzak murrizteko aukera ematen du barruti jakinetan barneratutako balioetara. Oso ohikoa da negozio logiko esanguratsua lortzeko eta datu base bakoitzeko lanbide-tresna bakoitzaren parte izan behar du.
Sarritan lagungarria da ohiko klausulak biltegiratutako prozeduran sartzeko, SQL ezagutzarik gabe erabilgarri izateko.