Vai al contenuto
eLearner.app
Modulo 1 · Lezione 3 di 43/57 nel corso~10 min
Lezioni del modulo (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

Esercizio#sql.m1.l3.e1
Tentativi: 0Caricamento…

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

Caricamento editor…
Mostra suggerimento

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

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#sql.m1.l3.e2
Tentativi: 0Caricamento…

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

Caricamento editor…
Mostra suggerimento

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

Soluzione disponibile dopo 3 tentativi