SQL barrutien datuak hautatzea

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.

Produktuen taula
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.

SELECT ProductName, UnitPrice FROM products WHERE UnitPrice> 20.00

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.00

Halaber, 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ánicas

Barrutiak 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.00

Ondoren erakusten den emaitza erakusten du:

ProductName UnitPrice ------- -------- Chai 18.00 etatik 19.00 aldera

Lerro 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 artean

Gure 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 Seasoning

WHERE 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.