Seleziona i dati all'interno degli intervalli in SQL

Il Linguaggio di query strutturato (SQL) fornisce agli utenti del database la possibilità di creare query personalizzate per estrarre informazioni dai database. In un articolo precedente, abbiamo esplorato l'estrazione di informazioni da un database utilizzando le query SQL SELECT. Espandiamo questa discussione ed esploriamo come puoi eseguire prestazioni avanzate interrogazioni per recuperare i dati che corrisponde a condizioni specifiche.

Consideriamo un esempio basato sull'uso comune Vento del nord database, che viene spesso fornito con i prodotti database come tutorial.

Ecco un estratto dalla tabella Product del database:

instagram viewer
Numero identificativo del prodotto Nome del prodotto IDfornitore Quantità per unità Prezzo unitario UnitsInStock
1 Chai 1 10 scatole x 20 sacchetti 18.00 39
2 Chang 1 Bottiglie da 24 - 12 once 19.00 17
3 Sciroppo Di Anice 1 Bottiglie da 12 - 550 ml 10.00 13
4 Condimento Cajun dello chef Anton 2 Vasi da 48 - 6 once 22.00 53
5 Gumbo Mix dello chef Anton 2 36 scatole 21.35 0
6 Crema di Boysenberry della nonna 3 Vasetti da 12 - 8 once 25.00 120
7 Pere secche biologiche dello zio Bob 3 Confezioni da 12 - 1 libbra. 30.00 15
Tabella dei prodotti

Condizioni al contorno semplici

Le prime restrizioni che porremo alla nostra query riguardano semplici condizioni al contorno. Possiamo specificarli nella clausola WHERE della query SELECT, utilizzando semplici istruzioni di condizione costruite con operatori standard, come , >= e <=.

Per prima cosa proviamo una semplice query che ci permette di estrarre un elenco di tutti i prodotti nel database che hanno un UnitPrice superiore a 20.00:

SELEZIONARE Nome prodotto, Prezzo unitario
DA prodotti
DOVE Prezzo unitario >20.00

Questo produce un elenco di quattro prodotti, come mostrato di seguito:

Nome del prodotto Prezzo unitario

Gumbo Mix dello chef Anton 21.35
Condimento Cajun dello chef Anton 22.00
Crema di Boysenberry della nonna 25.00
Pere secche biologiche dello zio Bob 30.00

Possiamo anche usare la clausola WHERE con valori stringa. Ciò equivale fondamentalmente a caratteri numerici, con A che rappresenta il valore 1 e Z che rappresenta il valore 26. Ad esempio, potremmo mostrare tutti i prodotti con nomi che iniziano con U, V, W, X, Y o Z con la seguente query:

SELEZIONA il nome del prodotto
DA prodotti
WHERE Nome Prodotto >= 'T'

Che produce il risultato:

Nome del prodotto

Pere secche biologiche dello zio Bob

Esprimere gli intervalli usando i confini

La clausola WHERE ci consente anche di implementare una condizione di intervallo su un valore utilizzando più condizioni. Ad esempio, se volessimo prendere la nostra query sopra e limitare i risultati ai prodotti con prezzi compresi tra le 15.00 e le 20.00, potremmo utilizzare la seguente query:

SELEZIONARE Nome prodotto, Prezzo unitario
DA prodotti
DOVE PrezzoUnitario > 15.00 AND PrezzoUnitario < 20.00

Questo produce il risultato mostrato di seguito:

Nome del prodotto Prezzo unitario

Chai 18.00
Chang 19.00

Esprimere i range con BETWEEN

SQL fornisce anche una scorciatoia BETWEEN sintassi che riduce il numero di condizioni che dobbiamo includere e rende la query più leggibile. Ad esempio, invece di utilizzare le due condizioni WHERE sopra, potremmo esprimere la stessa query di:

SELEZIONARE Nome prodotto, Prezzo unitario
DA prodotti
DOVE Prezzo unitario TRA 15.00 E 20.00

Come con le nostre altre clausole di condizione, BETWEEN funziona anche con valori di stringa. Se volessimo produrre un elenco di tutti i paesi che iniziano con V, W o X, potremmo utilizzare la query:

SELEZIONA il nome del prodotto
DA prodotti
DOVE Nome prodotto TRA "A" e "D"

Che produce il risultato:

Nome del prodotto

Sciroppo Di Anice
Chai
Chang
Gumbo Mix dello chef Anton
Condimento Cajun dello chef Anton

La clausola WHERE è una parte potente del linguaggio SQL che consente di limitare i risultati ai valori che rientrano negli intervalli specificati. È molto comunemente usato per aiutare a esprimere la logica aziendale e dovrebbe far parte del toolkit di ogni professionista del database. È spesso utile incorporare clausole comuni in una stored procedure per renderla accessibile a chi non conosce SQL.

instagram story viewer