WHERE mantiene le righe che soddisfano una condizione
Senza filtro, la query restituisce tutte le righe. WHERE viene scritto dopo FROM e confronta una colonna con un valore.
I testi sono circondati da apostrofi. I numeri rimangono senza apostrofi quando vengono memorizzati come numeri.
=uguale<>diverso- Confronti rigorosi tra
>e< >=e<=includono il valore limite
SELECT produit, prix
FROM produits
WHERE prix < 50;Combinabile con AND, OR e NOT
AND richiede che entrambe le condizioni siano vere. OR accetta che solo una condizione sia vera. Le parentesi rendono esplicita la priorità.
NOT inverte un test. Dovrebbe essere usato con una formulazione che rimanga facile da rileggere.
SELECT produit, categorie, prix
FROM produits
WHERE categorie = 'Informatica'
AND prix <= 100;ORDER BY organizza il risultato
ORDER BY si verifica dopo il filtro. ASC ordina in ordine crescente ed è solitamente l'impostazione predefinita. DESC applica l'ordine decrescente.
È possibile specificare più colonne. La seconda separa le linee identiche secondo la prima.
SELECT produit, prix
FROM produits
WHERE prix >= 10
ORDER BY prix DESC, produit ASC;Prestare attenzione ai valori NULL
NULL significa nessun valore noto. Non è paragonabile a = NULL.
Utilizzare IS NULL per trovare i valori mancanti e IS NOT NULL per i valori popolati.
SELECT nom
FROM clients
WHERE ville IS NULL;Rendere un filtro spiegabile e riproducibile
Un filtro traduce una regola aziendale. Scrivi questa regola come una frase prima di convertirla in SQL: Ordini pagati, creati nel mese di luglio, il cui importo è di almeno 100 TND. Ogni parola influenza l'operatore e i limiti.
Le date richiedono un'attenzione speciale. Per un periodo completo, un punto iniziale incluso e un punto finale escluso evitano problemi di tempo: date >= '2026-07-01' AND date < '2026-08-01'.
Una classifica deve anche essere stabile. Quando due righe hanno lo stesso valore principale, aggiungi un secondo criterio univoco per ottenere lo stesso ordine in ogni esecuzione e in ogni esportazione impaginata.
SELECT id_commande, date_commande, montant
FROM commandes
WHERE statut = 'Pagato'
AND date_commande >= DATE '2026-07-01'
AND date_commande < DATE '2026-08-01'
ORDER BY montant DESC, id_commande ASC;Verifica ciò che hai capito
Visualizza i prodotti con un prezzo di almeno 40 TND, dal più economico al più costoso.
SELECT produit, prix
FROM produits
WHERE -- condizione
ORDER BY -- ordinamento;Progressi
Hai completato questa lezione?
La scelta resta in questo browser e si sincronizza con il tuo account quando accedi.