Passer au contenu principal
eLearner.app
Module 1 · Leçon 3 sur 43/57 dans le cours~10 min
Leçons du module (3/4)

Filtrare con WHERE

Spesso non ci servono tutte le righe di una tabella, ma solo quelle che soddisfano una certa condizione. La clausola WHERE filtra le righe in base a un'espressione booleana:

SQL
SELECT <colonne>
FROM   <tabella>
WHERE  <condizione>;

Il motore valuta la condizione una riga alla volta e tiene solo quelle per cui restituisce TRUE.

Operatori di confronto

I più comuni sono:

  • = uguale, <> (o !=) diverso
  • <, <=, >, >=
  • BETWEEN a AND b — intervallo chiuso (a e b inclusi)
  • IN (v1, v2, …) — appartenenza a un elenco
  • LIKE 'patt%' — corrispondenza testuale con wildcard %

I valori di tipo testo si racchiudono fra apici singoli: 'Milano'.

Combinare condizioni

Puoi combinare più condizioni con AND, OR e negarle con NOT. In caso di mix conviene usare le parentesi per chiarezza:

SQL
WHERE department_id = 1
  AND (salary > 40000 OR hired_on < '2020-01-01');

Prova tu

Exercice#sql.m1.l3.e1
Tentatives : 0Chargement…

Estrai nome (first_name), cognome (last_name) e stipendio (salary) dei dipendenti con stipendio strettamente maggiore di 40.000.

Chargement de l'éditeur…
Afficher l'indice

La condizione che ti serve è salary > 40000. Non servono apici per i numeri.

Solution disponible après 3 tentatives

Esercizio di ripasso

Exercice#sql.m1.l3.e2
Tentatives : 0Chargement…

Estrai nome (first_name) e cognome (last_name) dei dipendenti il cui cognome inizia con la lettera 'R'. Usa LIKE con il jolly %.

Chargement de l'éditeur…
Afficher l'indice

Il pattern 'R%' significa: stringhe che iniziano con R seguita da qualunque cosa.

Solution disponible après 3 tentatives