Salta ai contenuti

Operatori logici

Gli operatori logici servono a combinare più condizioni. Sono il modo con cui SQL ragiona su frasi come:

  • clienti di Roma e attivi
  • clienti di Roma o di Milano
  • ordini non ancora spediti
SELECT *
FROM clienti
WHERE citta = 'Roma' AND attivo = TRUE;

AND richiede che entrambe le condizioni siano vere.

OR ne accetta almeno una. NOT la ribalta.

AND funziona come una doppia porta. La riga passa solo se supera entrambe.

SELECT *
FROM clienti
WHERE citta = 'Roma' AND attivo = TRUE;

Qui restano solo i clienti che vivono a Roma e sono attivi.

Con OR la logica è più permissiva.

SELECT *
FROM clienti
WHERE citta = 'Roma' OR citta = 'Milano';

Qui basta che la città sia Roma oppure Milano.

NOT serve a negare una condizione.

SELECT *
FROM clienti
WHERE NOT attivo;

Questa query prende i clienti che non risultano attivi.

Quando una query ha più condizioni, il trucco migliore è leggerla ad alta voce in italiano semplice. Se la frase suona chiara, di solito anche la query è costruita bene.