SQLite - Espressioni
Ciao a tutti, futuri maghi dei database! Oggi ci immergeremo nel mondo affascinante delle espressioni SQLite. Come il tuo insegnante di computer del vicinato, sono qui per guidarti in questo viaggio, passo dopo passo. Non preoccuparti se sei nuovo alla programmazione - inizieremo dalle basi e lavoreremo verso l'alto. Allora, prenditi la tua bevanda preferita, mettiti comodo e partiamo insieme per questa avventura SQLite!
Cos'è un'Espressione SQLite?
Prima di immergerci nei dettagli, capiremo cos'è un'espressione in SQLite. Pensa alle espressioni come ai mattoni delle tue query di database. Sono come gli ingredienti in una ricetta - li combini in diversi modi per creare risultati potenti e significativi.
In SQLite, le espressioni possono essere semplici come un singolo valore o complesse come una combinazione di più operazioni. Vengono utilizzate in varie parti delle dichiarazioni SQL, come le clausole SELECT, WHERE e ORDER BY.
Ora, esploriamo i tre principali tipi di espressioni in SQLite:
- Espressioni Booleane
- Espressioni Numeriche
- Espressioni Date
SQLite - Espressioni Booleane
Le espressioni booleane sono come le domande vere/falso di un quiz. Valutano a TRUE o FALSE. Queste espressioni sono molto utili quando vuoi filtrare i dati o prendere decisioni nelle tue query.
Operatori di Confronto di Base
Iniziamo con alcuni operatori di confronto di base:
Operatore | Descrizione |
---|---|
= | Uguale a |
<> | Diverso da |
< | Minore di |
> | Maggiore di |
<= | Minore o uguale a |
>= | Maggiore o uguale a |
Ecco un esempio semplice:
SELECT name, age
FROM students
WHERE age > 18;
In questa query, age > 18
è la nostra espressione booleana. Controlla se l'età è maggiore di 18 e restituisce TRUE per tutti gli studenti che hanno più di 18 anni.
Operatori Logici
Ora, aggiungiamo un po' di pepe con gli operatori logici:
Operatore | Descrizione |
---|---|
AND | AND logico |
OR | OR logico |
NOT | NOT logico |
Ecco un esempio che combina più condizioni:
SELECT name, age, grade
FROM students
WHERE age > 18 AND grade = 'A';
Questa query trova tutti gli studenti che hanno più di 18 anni E hanno un voto 'A'. È come dire, "Mostrami gli adulti studenti con voto A!"
Operatore BETWEEN
L'operatore BETWEEN è un modo sintetico per controllare se un valore è entro un intervallo:
SELECT name, score
FROM exam_results
WHERE score BETWEEN 80 AND 90;
Questa query trova tutti gli studenti che hanno ottenuto tra 80 e 90 nel loro esame. È equivalente a scrivere score >= 80 AND score <= 90
.
SQLite - Espressioni Numeriche
Le espressioni numeriche in SQLite ti permettono di eseguire operazioni matematiche nelle tue query. È come avere una calcolatrice integrata nel tuo database!
Operatori Aritmetici
Ecco i principali operatori aritmetici:
Operatore | Descrizione |
---|---|
+ | Addizione |
- | Sottrazione |
* | Moltiplicazione |
/ | Divisione |
% | Modulo |
Vediamo come funzionano:
SELECT name,
price,
quantity,
price * quantity AS total_cost
FROM orders;
In questa query, stiamo calcolando il costo totale moltiplicando il prezzo per la quantità. La parola chiave AS
ci permette di dare un nome alla nostra colonna calcolata.
Funzioni Aggregative
SQLite fornisce anche funzioni aggregate che operano su un set di valori:
Funzione | Descrizione |
---|---|
AVG() | Calcola la media |
SUM() | Calcola la somma |
COUNT() | Conta il numero di righe |
MAX() | Trova il valore massimo |
MIN() | Trova il valore minimo |
Ecco un esempio che utilizza le funzioni aggregate:
SELECT
AVG(price) AS average_price,
SUM(quantity) AS total_items,
COUNT(*) AS order_count,
MAX(price) AS highest_price,
MIN(price) AS lowest_price
FROM orders;
Questa query ci dà una panoramica della nostra tabella degli ordini, inclusi il prezzo medio, il numero totale di articoli venduti, il numero di ordini e i prezzi più alto e più basso.
SQLite - Espressioni Date
Lavorare con le date nei database può essere complicato, ma SQLite offre alcune funzioni utili per rendere le cose più semplici.
Funzioni Data e Ora
Ecco alcune funzioni comunemente utilizzate per la data e l'ora:
Funzione | Descrizione |
---|---|
date() | Restituisce la data corrente |
time() | Restituisce l'ora corrente |
datetime() | Restituisce la data e l'ora corrente |
julianday() | Restituisce il giorno giuliano per una data |
strftime() | Formatta una data secondo una stringa di formato |
Vediamo come utilizzarle:
SELECT
date('now') AS current_date,
time('now') AS current_time,
datetime('now') AS current_datetime,
julianday('now') AS julian_day,
strftime('%Y-%m-%d %H:%M', 'now') AS formatted_datetime;
Questa query ci mostra vari modi di lavorare con la data e l'ora corrente.
Calcoli con Date
Possiamo anche eseguire calcoli con le date:
SELECT
name,
hire_date,
date(hire_date, '+1 year') AS first_anniversary,
julianday('now') - julianday(hire_date) AS days_employed
FROM employees;
In questa query, stiamo calcolando la prima anniversaria di assunzione di ogni dipendente e il numero di giorni lavorati.
E voilà, amici! Abbiamo percorso il territorio delle espressioni SQLite, dalla logica booleana alla manipolazione numerica fino al viaggio nel tempo (bene, più o meno). Ricorda, la pratica rende perfetti, quindi non aver paura di sperimentare con queste espressioni nelle tue query.
Prima di concludere, una piccola storia dalla mia esperienza di insegnamento: Ho avuto uno studente che aveva difficoltà con le espressioni booleane. Continuava a confondere AND e OR. Allora gli ho detto di pensare a AND come a un genitore rigoroso (entrambe le condizioni devono essere vere) e OR come a un genitore indulgente (una delle condizioni può essere vera). Non lo ha mai dimenticato!
Spero che questa guida ti sia stata utile e magari anche un po' divertente. Continua a esplorare, a fare query e, soprattutto, a imparare. Fino alla prossima volta, happy coding!
Credits: Image by storyset