Përzgjedhja e të dhënave brenda sferave në SQL

Prezantimi i klauzolës WHERE dhe kushti MIRË

Strukturuar Query Language (SQL) ofron përdoruesit e bazës së të dhënave me aftësinë për të krijuar pyetje të personalizuara për nxjerrjen e informacionit nga bazat e të dhënave. Në një artikull të mëparshëm, ne hulumtojmë nxjerrjen e informacionit nga një bazë të dhënash duke përdorur SQL SELECT pyetje . Le të zgjerohemi në atë diskutim dhe të eksplorojmë se si mund të kryeni pyetje të avancuara për të rifituar të dhëna që përputhen me kushtet specifike.

Le të shqyrtojmë një shembull të bazuar në bazën e të dhënave Northwind që përdoret zakonisht, të cilat shpesh shpërndahen me produkte të bazës së të dhënave si një tutorial.

Ja një fragment nga tabela e produkteve të bazës së të dhënave:

Tabela e produkteve
Numri identifikues i produktit Emri i produktit SupplierID QuantityPerUnit UnitPrice UnitsInStock
1 Chai 1 10 kuti x 20 çanta 18.00 39
2 chang 1 24 - 12 oz shishe 19.00 17
3 Syrup aniseed 1 12 - 550 ml shishe 10.00 13
4 Ëndrra e Cajunit të Chef Anton 2 48 - 6 oz kavanoza 22.00 53
5 Chef Anton's Gumbo Mix 2 36 kuti 21,35 0
6 Shpërndarja e Boysenberry e gjysheve 3 12 - 8 oz kavanoza 25.00 120
7 Dardha Organike të Xhaxhit Bob 3 12 - 1 lb pkgs. 30.00 15

Kushtet e Kufijve të Thjeshtë

Kufizimet e para që do të vendosim në pyetjen tonë përfshijnë kushte të thjeshta kufitare. Ne mund t'i specifikojmë këto në klauzolën WHERE të pyetjes SELECT, duke përdorur deklarata të thjeshta kushtesh të ndërtuara me operatorë standardë, të tillë si <,>,> =, dhe <=.


Së pari, le të provojmë një pyetje të thjeshtë që na lejon të nxjerrim një listë të të gjitha produkteve në bazën e të dhënave që kanë një njësi çmim prej më shumë se 20.00:

SELECT ProductName, UnitPrice NGA prodhimet KU Njësia Çmimi> 20.00

Kjo prodhon një listë prej katër produkteve, siç tregohet më poshtë:

ProductName UnitPrice ------- -------- Chef Anton's Mix Gumbo 21.35 Chef Anton Cajun Seasoning 22.00 Shpërndarja Boysenberry gjyshes 25.00 Dardha organike të Uncle Bob's 30,00

Ne gjithashtu mund të përdorim klauzolën WHERE me vlerat e vargut. Për shembull, ne mund të tregojmë të gjitha produktet me emra që fillojnë me U, V, W, X, Y ose Z me pyetjen e mëposhtme:

SELECT ProductName FROM products WHERE ProductName> = 'T'

Cili prodhon rezultatin:

Emri i Produktit ------- Xheva të thata Organike të Xhaxha Bobit

Shprehja e fushave duke përdorur kufijtë

Klauzola WHERE na lejon gjithashtu që të zbatojmë një kusht varg në një vlerë duke përdorur kushte të shumëfishta. Për shembull, nëse dëshirojmë të marrim pyetjen tonë më lart dhe të kufizojmë rezultatet tek produktet me çmime ndërmjet orës 15.00 dhe 20.00, mund të përdorim pyetjen e mëposhtme:

SELECT Emri i Produktit, Njësia Çmimi NGA prodhimet KU Njësia Çmimi> 15.00 DHE Njësia Çmimi <20.00

Kjo prodhon rezultatin e treguar më poshtë:

ProductName UnitPrice ------- -------- Chai 18.00 Ndryshimet 19.00

Shprehja e fushave me MESME

SQL gjithashtu siguron një shkurtim mes sintaksës që zvogëlon numrin e kushteve që ne duhet të përfshijë dhe e bën pyetjen më të lexueshme. Për shembull, në vend të përdorimit të dy kushteve të WHERE, mund të shprehim të njëjtën pyetje si:

SELECT Emri i Produktit, Njësia Çmimi nga produktet ku çmimi njësi ndërmjet 15.00 dhe 20.00

Ashtu si me klauzolat tona të tjera kusht, gjithashtu punon me vlera string si. Nëse donim të prodhonim një listë të të gjitha vendeve që fillonin me V, W ose X, mund të përdorim pyetjen:

SELECT ProductName FROM products WHERE ProductName ndermjet "A" dhe "D"

Cili prodhon rezultatin:

ProductName ------- Aniseed Syrup Chai Chang Chef Anton's Gumbo Përzierje Chef Cajun Anton's Seasoning

Klauzola WHERE është një pjesë e fuqishme e gjuhës SQL që ju lejon të kufizoni rezultatet tek vlerat që bien brenda intervaleve të specifikuara. Është shumë e zakonshme për të ndihmuar në shprehjen e logjikës së biznesit dhe duhet të jetë pjesë e mjeteve të të dhënave të çdo baze të dhënash.

Shpesh është e dobishme të përfshihen klauzolat e përbashkëta në një procedurë të ruajtur për ta bërë atë të aksesueshëm për ata që nuk kanë njohuri SQL.