Skip to main content

Selectarea datelor în intervalul în SQL

Revealing the True Donald Trump: A Devastating Indictment of His Business & Life (2016) (Aprilie 2025)

Revealing the True Donald Trump: A Devastating Indictment of His Business & Life (2016) (Aprilie 2025)
Anonim

Limbajul de interogare structurat (SQL) oferă utilizatorilor de baze de date posibilitatea de a crea interogări personalizate pentru a extrage informații din baze de date. Într-un articol anterior, am explorat extragerea informațiilor dintr-o bază de date folosind interogări SQL SELECT. Să ne extindem asupra acestei discuții și să explorăm modul în care puteți efectua interogări avansate pentru a prelua date care corespund unor condiții specifice.Să luăm în considerare un exemplu bazat pe baza de date Northwind utilizată în mod obișnuit, care în mod obișnuit livrează cu produse de bază de date un tutorial.

Iată un extras din tabelul de produse al bazei de date:

Tabel de produse
ProductIDNumele produsuluiSupplierIDQuantityPerUnitPreț unitarUnitati in stoc
1chai110 cutii x 20 de saci18.0039
2Chang1Flacoane de 24 - 12 oz19.0017
3Sirop de anason1Sticle de 12 - 550 ml10.0013
4Șeful lui Anton Cajun condimentează2Borcane de 48 - 6 oz22.0053
5Cheful lui Anton's Gumbo Mix236 cutii21.350
6Bunica lui Boysenberry Spread3Borcane de 12 - 8 oz25.00120
7Peretele uscat organic al unchiului Bob312 - 1 lb pkgs.30.0015

Condiții limită simple

Primele restricții pe care le vom pune pe interogarea noastră implică condiții limită simple. Putem specifica acestea în clauza WHERE a interogării SELECT, utilizând instrucțiuni simple de condiție construite cu operatori standard, cum ar fi <,>,> =, și <=.

Mai întâi, să încercăm o interogare simplă care să ne permită să extragem o listă a tuturor produselor din baza de date care au un UnitPrice mai mare de 20.00:

SELECT ProductName, UnitPrice din produse WHERE UnitPrice> 20.00

Aceasta produce o listă de patru produse, după cum se arată mai jos:

ProductName UnitPrice ------- -------- Cheful lui Anton's Gumbo Mix 21.35 Chef Anton's Cajun Condimentarea 22.00 Distribuția lui Boysenberry a bunicii 25.00 Pearcile uscate organice ale unchiului Bob 30.00

De asemenea, putem folosi clauza WHERE cu valori de șir. Acest lucru este de fapt echivalent cu caracterele cu numere, cu A reprezentând valoarea 1 și Z reprezentând valoarea 26. De exemplu, am putea arăta toate produsele cu nume care încep cu U, V, W, X, Y sau Z cu următoarea interogare:

SELECT ProductName din produse WHERE ProductName> = 'T'

Care produce rezultatul:

ProductName ------- Perele uscate organice ale unchiului Bob

Exprimarea intervalelor folosind limitele

Clauza WHERE ne permite, de asemenea, să implementăm o condiție a unei valori pe o valoare utilizând mai multe condiții. De exemplu, dacă vrem să luăm întrebarea de mai sus și să limităm rezultatele la produse cu prețuri între orele 15.00 și 20.00, am putea folosi următoarea interogare:

SELECT ProductName, UnitPrice din produse WHERE UnitPrice> 15.00 AND UnitPrice <20.00

Aceasta produce rezultatul indicat mai jos:

ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00

Exprimarea intervalelor cu MIX

SQL oferă, de asemenea, o scurtătură între sintaxa BETWEEN care reduce numărul de condiții pe care trebuie să le includem și face interogarea mai ușor de citit. De exemplu, în loc să folosim cele două condiții WHERE de mai sus, am putea exprima aceeași interogare ca:

SELECT ProductName, UnitPrice din produse WHERE UnitPrice ÎNTRE 15.00 și 20.00

Ca și în cazul celorlalte clauze de condiție, ÎntreTREBI funcționează și cu valorile șirului. Dacă vrem să producem o listă a tuturor țărilor care încep cu V, W sau X, am putea folosi interogarea:

SELECT ProductName FROM PRODUCTS WHERE ProductName ÎNTREA "A" și "D"

Care produce rezultatul:

ProductName ------- Sirop de anason Chai Chang Chef Anton's Gumbo Mix Chef Anton's Cajun Seasoning

Clauza WHERE este o parte puternică a limbajului SQL care vă permite să restricționați rezultatele la valori care se încadrează în limitele specificate. Acesta este foarte frecvent folosit pentru a ajuta la exprimarea logicii de afaceri și ar trebui să facă parte din setul de instrumente al fiecărei baze de date profesionale.

Este adesea util să includeți clauze comune într-o procedură stocată pentru a le face accesibile celor fără cunoștințe SQL.