SQL - Operatore BETWEEN

Ciao a tutti, futuri maghi dell'SQL! Oggi ci imbarcheremo in un viaggio emozionante alla scoperta dell'operatore BETWEEN. Come il vostro amico insegnante di scienze informatiche del quartiere, sono qui per guidarvi in questa avventura con tanti esempi e una punta di umorismo. Allora, afferrate le vostre bacchette virtuali (tastiere) e iniziamo!

SQL - BETWEEN Operator

L'Operatore BETWEEN in SQL

Immaginate di organizzare una festa e di voler invitare amici la cui età rientra in un certo intervallo. Ecco esattamente cosa fa l'operatore BETWEEN in SQL - ci aiuta a selezionare dati entro una specifica gamma. Immergiamoci!

Sintassi di Base

SELECT nome_colonna(e)
FROM nome_tabella
WHERE nome_colonna BETWEEN valore1 AND valore2;

Questo potrebbe sembrare un po' intimidatorio all'inizio, ma non preoccupatevi! Lo analizzeremo con alcuni esempi.

Esempio 1: Selezione di Prodotti in un Intervallo di Prezzo

Supponiamo di avere una tabella chiamata "Products" nel nostro database di negozio online. Vogliamo trovare tutti i prodotti con un prezzo compreso tra $50 e $100.

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 100;

Questa query restituirà tutte le colonne (*) della tabella Products dove il Price è compreso tra $50 e $100, inclusi. È come chiedere: "Mostrami tutti i prodotti che costano almeno $50 ma non più di $100."

Esempio 2: Intervallo di Date

L'operatore BETWEEN non è solo per numeri. Funziona alla grande anche con le date! Supponiamo di avere una tabella "Orders" e vogliamo trovare tutti gli ordini effettuati nell'anno 2023.

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';

Questa query recupera tutti gli ordini con date dal 1 gennaio 2023 al 31 dicembre 2023. È come chiedere al tuo database: "Quali ordini abbiamo ricevuto nel 2023?"

Operatore BETWEEN con l'Operatore IN

Ora, aggiungiamo un po' di pepe! Possiamo combinare BETWEEN con l'operatore IN per query più complesse. Pensate a esso come creare una lista di invitati per la vostra festa con specifici intervalli di età e nomi.

Esempio 3: Combinazione di BETWEEN e IN

Supponiamo di voler trovare dipendenti che hanno tra i 25 e i 35 anni e lavorano nei dipartimenti IT o HR.

SELECT * FROM Employees
WHERE (Age BETWEEN 25 AND 35)
AND Department IN ('IT', 'HR');

Questa query è come dire: "Mostrami tutti i dipendenti tra i 25 e i 35 anni che lavorano in IT o HR." È un ottimo modo per restringere i criteri di ricerca.

Operatore BETWEEN con la Dichiarazione UPDATE

A volte, dobbiamo aggiornare dati entro un intervallo specifico. Vediamo come possiamo usare BETWEEN in una dichiarazione UPDATE.

Esempio 4: Aggiornamento delle Retribuzioni

Immaginate di voler dare un aumento del 10% a tutti i dipendenti che guadagnano tra $50,000 e $70,000.

UPDATE Employees
SET Salary = Salary * 1.10
WHERE Salary BETWEEN 50000 AND 70000;

Questa query aumenta la retribuzione del 10% per tutti i dipendenti all'interno dell'intervallo di stipendio specificato. È come dare un bonus ai vostri dipendenti di reddito medio!

Operatore BETWEEN con la Dichiarazione DELETE

L'operatore BETWEEN può anche essere utilizzato con le dichiarazioni DELETE quando è necessario rimuovere dati entro un intervallo specifico.

Esempio 5: Eliminazione di Vecchi Record

Supponiamo di voler eliminare tutti gli ordini del 2020 per pulire il nostro database.

DELETE FROM Orders
WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31';

Questa query rimuove tutti gli ordini effettuati nel 2020. È come fare una pulizia digitale di primavera per il tuo database!

Operatore NOT BETWEEN

E se vogliamo trovare dati al di fuori di un intervallo specifico? È qui che entra in gioco l'operatore NOT BETWEEN.

Esempio 6: Trovare Prodotti al di Fuori di un Intervallo di Prezzo

Vogliamo trovare tutti i prodotti che sono soit più economici di $20 soit più costosi di $100.

SELECT * FROM Products
WHERE Price NOT BETWEEN 20 AND 100;

Questa query restituisce tutti i prodotti con prezzi inferiori a $20 o superiori a $100. È come chiedere: "Mostrami i prodotti economici e di lusso, ma niente di intermedio."

Operatore NOT BETWEEN con l'Operatore IN

Ultimamente, combiniamo NOT BETWEEN con l'operatore IN per query ancora più precise.

Esempio 7: Query di Esclusione Complessa

Supponiamo di voler trovare dipendenti che non hanno tra i 30 e i 50 anni e non lavorano nei dipartimenti Sales o Marketing.

SELECT * FROM Employees
WHERE (Age NOT BETWEEN 30 AND 50)
AND Department NOT IN ('Sales', 'Marketing');

Questa query trova dipendenti che sono soit sotto i 30 anni soit sopra i 50, e che non lavorano in Sales o Marketing. È come dire: "Mostrami i giovani e i dipendenti esperti che non lavorano nei nostri dipartimenti a contatto con i clienti."

Riepilogo dei Metodi dell'Operatore BETWEEN

Ecco una tabella comoda che riassume i diversi modi in cui possiamo usare l'operatore BETWEEN:

Metodo Descrizione Esempio
BETWEEN Seleziona valori entro un dato intervallo WHERE Price BETWEEN 50 AND 100
BETWEEN con Date Seleziona date entro un dato intervallo WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
BETWEEN con IN Combinazione di intervallo e lista di selezione WHERE (Age BETWEEN 25 AND 35) AND Department IN ('IT', 'HR')
BETWEEN in UPDATE Aggiorna valori entro un intervallo UPDATE Employees SET Salary = Salary * 1.10 WHERE Salary BETWEEN 50000 AND 70000
BETWEEN in DELETE Elimina record entro un intervallo DELETE FROM Orders WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31'
NOT BETWEEN Seleziona valori al di fuori di un dato intervallo WHERE Price NOT BETWEEN 20 AND 100
NOT BETWEEN con IN Combinazione di esclusione di intervallo e lista WHERE (Age NOT BETWEEN 30 AND 50) AND Department NOT IN ('Sales', 'Marketing')

Ecco qui, gente! Abbiamo percorso il mondo degli operatori BETWEEN, dai selezioni di base alle query complesse. Ricordate, la pratica fa la perfezione, quindi non abbiate paura di sperimentare queste query sui vostri dataset. Buon SQL, e possa la vostra query sempre restituire i risultati che cercate!

Credits: Image by storyset