SQL - Operatori
Benvenuti, futuri maghi dei database! Oggi ci immergeremo nel magico mondo degli operatori SQL. Non preoccupatevi se non avete mai scritto una riga di codice prima – inizieremo dal foarte principio e lavoreremo fino ad arrivarci. Alla fine di questo tutorial, sarete in grado di evocare dati come i migliori!
Cos'è un Operatore SQL?
Iniziamo con le basi. Un operatore SQL è come uno strumento speciale nella vostra cassetta degli attrezzi del database. Vi aiuta a eseguire operazioni sui vostri dati, sia che stiate confrontando valori, facendo calcoli o combinando informazioni. Pensate agli operatori come ai verbi nelle vostre frasi SQL – sono loro che fanno accadere le cose!
Per esempio, quando dite "Voglio tutti i clienti la cui età è maggiore di 30", la parte "maggiore di" è un operatore. Sta dicendo al database come filtrare i vostri dati.
Tipi di Operatori in SQL
Ora esploriamo i diversi tipi di operatori in SQL. Li categorizzeremo e forniremo esempi per ciascuno. Prendete il vostro seggiolino, perché stiamo per fare un giro sulle montagne russe del parco degli operatori!
1. Operatori Aritmetici
Questi operatori vi aiutano a fare calcoli con i vostri dati. Ecco una tabella degli operatori aritmetici:
Operatore | Descrizione | Esempio |
---|---|---|
+ | Addizione | 5 + 3 = 8 |
- | Sottrazione | 7 - 2 = 5 |
* | Moltiplicazione | 4 * 6 = 24 |
/ | Divisione | 15 / 3 = 5 |
% | Modulo (resto) | 17 % 5 = 2 |
Vediamo questi in azione:
SELECT product_name, price, price * 1.1 AS price_with_tax
FROM products;
In questo esempio, stiamo calcolando un nuovo prezzo che include una tassa del 10%. L'operatore *
moltiplica il prezzo originale per 1.1.
2. Operatori di Confronto
Questi operatori vi aiutano a confrontare valori. Sono molto utili per filtrare i dati. Ecco una tabella degli operatori di confronto:
Operatore | Descrizione | Esempio |
---|---|---|
= | Uguale a | età = 30 |
<> | Diverso da | status <> 'Completed' |
> | Maggiore di | prezzo > 100 |
< | Minore di | quantità < 5 |
>= | Maggiore o uguale a | valutazione >= 4 |
<= | Minore o uguale a | sconto <= 0.2 |
Vediamo come usarli in una query:
SELECT customer_name, age
FROM customers
WHERE age > 30 AND status = 'Active';
Questa query trova tutti i clienti attivi over 30 anni. L'operatore >
controlla le età superiori a 30, e l'operatore =
assicura che lo stato sia esattamente 'Active'.
3. Operatori Logici
Gli operatori logici vi aiutano a combinare più condizioni. Sono come la colla che tiene insieme le vostre query complesse. Ecco una tabella degli operatori logici:
Operatore | Descrizione |
---|---|
AND | Vero se entrambe le condizioni sono vere |
OR | Vero se almeno una delle condizioni è vera |
NOT | Inverte il risultato di una condizione |
Vediamo come possiamo usarli:
SELECT product_name, price, category
FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price < 1000
AND NOT discontinued;
Questa query trova i prodotti nelle categorie Electronics o Computers, con un prezzo inferiore a $1000 e non discontinuati. È come dire al database, "Dammi tutti i gadget cool che non romperanno il bank e sono ancora disponibili!"
4. Operatore LIKE
L'operatore LIKE è il tuo migliore amico quando stai cercando pattern nei dati testuali. Utilizza wildcard per abbinare parti di stringhe:
- % : Abbinare qualsiasi numero di caratteri
- _ : Abbinare un singolo carattere
Ecco un esempio:
SELECT customer_name, email
FROM customers
WHERE email LIKE '%@gmail.com';
Questa query trova tutti i clienti con indirizzi Gmail. La wildcard %
abbinare qualsiasi carattere prima di '@gmail.com'.
5. Operatore IN
L'operatore IN è un modo sintetico per combinare più condizioni OR. È molto utile quando stai cercando corrispondenze in una lista di valori.
SELECT product_name, category
FROM products
WHERE category IN ('Books', 'Movies', 'Music');
Questa query recupera tutti i prodotti nelle categorie Books, Movies o Music. È molto più pulito rispetto a scrivere category = 'Books' OR category = 'Movies' OR category = 'Music'
.
6. Operatore BETWEEN
L'operatore BETWEEN ti aiuta a trovare valori all'interno di un intervallo. È inclusivo, il che significa che include i valori limite.
SELECT order_id, order_date, total_amount
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
Questa query trova tutti gli ordini effettuati nel 2023. È come dire, "Mostrami tutto da Capodanno a Capodanno!"
Precedenza degli Operatori SQL
Ora che abbiamo conosciuto tutti questi fantastici operatori, è importante sapere come SQL decide quale valutare per primo quando usate più operatori in una singola query. Questo si chiama precedenza degli operatori.
Ecco una tabella semplificata della precedenza degli operatori SQL, da quella più alta a quella più bassa:
- Parentesi ()
- Moltiplicazione/Divisione (*, /)
- Addizione/Sottrazione (+, -)
- Operatori di confronto (=, <>, <, >, <=, >=)
- NOT
- AND
- OR
Vediamo questo in azione:
SELECT product_name, price, category
FROM products
WHERE category = 'Electronics' AND (price < 500 OR rating > 4);
In questa query, SQL farà:
- Valutare le condizioni all'interno delle parentesi prima (price < 500 OR rating > 4)
- Poi applicare l'operatore AND con la condizione della categoria
Questo ci dà tutti gli elettrodomestici che sono soit sotto $500 o con una valutazione superiore a 4.
Ricorda, puoi sempre usare le parentesi per controllare esplicitamente l'ordine delle operazioni se non sei sicuro o vuoi sovrascrivere la precedenza predefinita.
E voilà, gente! Avete appena completato il vostro crash course sugli operatori SQL. Con questi strumenti al vostro fianco, siete ben preparati per diventare maestri della manipolazione dei dati. Ricordate, la pratica fa perfezione, quindi non avete paura di sperimentare con questi operatori nelle vostre query. Buon codice!
Credits: Image by storyset