L-introduzzjoni tal-klawżola WHERE u l-kondizzjoni BEJN
Il -Lingwa ta 'Mistoqsija Strutturata (SQL) tipprovdi lill-utenti tal-bażijiet tad-dejta bil-kapaċità li joħolqu mistoqsijiet personalizzati biex tiġbed informazzjoni minn databases. F'artikolu preċedenti, esplorajna l- estrazzjoni ta 'informazzjoni minn database bl-użu ta' mistoqsijiet SQL SELECT . Ejja nkabbru fuq dik id-diskussjoni u niskopru kif tista 'twettaq mistoqsijiet avvanzati biex tirkupra data li taqbel ma' kundizzjonijiet speċifiċi.
Ejja nqisu eżempju bbażat fuq id-database użata komunement Northwind, li ta 'spiss tinbiegħ ma' prodotti ta 'database bħala tutorja.
Hawn xi silta mit-tabella tal-Prodott tal-bażi tad-dejta:
ProductID | Prodott Isem | SupplierID | QuantityPerUnit | UnitPrice | UnitsInStock |
---|---|---|---|---|---|
1 | Chai | 1 | 10 kaxxi x 20 borża | 18.00 | 39 |
2 | Chang | 1 | Flixkien ta '24 - 12 oz | 19.00 | 17 |
3 | Ġulepp Aniżż | 1 | Fliexken 12 - 550 ml | 10.00 | 13 |
4 | Chef Anton's Ħwawar Cajun | 2 | 48 - 6 vażetti oz | 22.00 | 53 |
5 | Chef Anton's Gumbo Ħallat | 2 | 36 kaxxa | 21.35 | 0 |
6 | Grandmena's Boysenberry Spread | 3 | 12 - 8 vażetti oz | 25.00 | 120 |
7 | Pears Imnixxfin Organiċi ta 'Uncle Bob | 3 | 12 - 1 lb pkgs. | 30.00 | 15 |
Kundizzjonijiet Sempliċi ta 'Limitu
L-ewwel restrizzjonijiet li se npoġġu fuq il-mistoqsija tagħna jinvolvu kundizzjonijiet ta 'konfini sempliċi. Nistgħu nispeċifikaw dawn fil-klawżola WHERE tal-mistoqsija SELECT, bl-użu ta 'dikjarazzjonijiet ta' kundizzjoni sempliċi mibnija b'operaturi standard, bħal <,>,> =, u <=.
L-ewwel, ejja nipprova mistoqsija sempliċi li tippermettilna li neħilsu lista tal-prodotti kollha fid-database li għandhom UnitPrice ta 'aktar minn 20.00:
Dan jipproduċi lista ta 'erba' prodotti, kif muri hawn taħt:
ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Ħwawar Cajun 22.00 Grandma's Boysenberry Spread 25.00 Tbissar tal-Lanġas Niexfa Uncle Bob 30.00Nistgħu nużaw ukoll il-klawżola WHERE b'valuri ta 'spag. Dan bażikament jekwiżi karattri man-numri, b'A li jirrappreżenta l-valur 1 u Z li jirrappreżentaw il-valur 26. Pereżempju, nistgħu nuru l-prodotti kollha b'ismijiet li jibdew b'U, V, W, X, Y jew Z bil-mistoqsija li ġejja:
TAGĦŻEL Prodott Isem MINN PRODOTTI FEJN ProductName> = 'T'Li jipproduċi r-riżultat:
ProductName ------- Lanġas Imnixxfin Organiċi ta 'Uncle BobEspressjoni ta 'firxiet bl-użu ta' Limiti
Il-klawżola WHERE tippermetti wkoll li nimplimentaw kundizzjoni ta 'firxa fuq valur bl-użu ta' kundizzjonijiet multipli. Pereżempju, jekk ridna nieħdu l-mistoqsija tagħna hawn fuq u nillimitaw ir-riżultati għal prodotti bi prezzijiet bejn 15.00 u 20.00, nistgħu nużaw il-mistoqsija li ġejja:
SELECT ProductName, UnitPrice MINN PRODOTTI FEJN UnitPrice> 15.00 U UnitPrice <20.00Dan jipproduċi r-riżultat muri hawn taħt:
ProductName UnitPrice ------- -------- Chai 18.00 Bidliet 19.00Espressjoni fir-Ranges ma 'BEJN
SQL tipprovdi wkoll sintomi ta 'aċċessibilità bejn BEI li tnaqqas in-numru ta' kundizzjonijiet li għandna bżonn ninkludu u tagħmel il-mistoqsija aktar leġibbli. Pereżempju, minflok ma tuża ż-żewġ kundizzjonijiet WHERE hawn fuq, nistgħu nesprimu l-istess mistoqsija bħal:
SELECT ProductName, UnitPrice MINN PRODOTTI FEJN UnitPrice BEJN 15:00 U 20:00Bħal fil-każ tal-klawsoli l-oħra ta 'kundizzjoni tagħna, BEJJED jaħdem ukoll b'valuri ta' spag. Jekk ridna nipproduċu lista tal-pajjiżi kollha li bdew b'V, W jew X, nistgħu nużaw il-mistoqsija:
TAGĦŻEL Prodott Isem MINN PRODOTTI FEJN ProductName BEJN "A" u "D"Li jipproduċi r-riżultat:
ProductName ------- Xiropp ta 'l-Aniżju Chai Chang Chef Anton's Gumbo Mix Chef Anton's Ħwawar CajunIl-klawżola WHERE hija parti b'saħħitha tal-lingwa SQL li tippermettilek li tirrestrinġi r-riżultati għal valuri li jaqgħu f'meded speċifikati. Huwa użat b'mod komuni ħafna biex jgħin l-loġika tan-negozju espress u għandu jkun parti mit-tagħmir tal-għodda ta 'kull database professjonali.
Ħafna drabi jkun ta 'għajnuna li jiġu inkorporati klawsoli komuni f'proċedura maħżuna biex tkun aċċessibbli għal dawk mingħajr l-għarfien SQL.