back to top

MySQL: operatori logici, di confronto e matematici

MySQL, come sappiamo, è basato sul linguaggio SQL e come tale ne supporta tutte le caratteristiche. Anche in MySQL, quindi, è possibile utilizzare una serie di operatori per effettuare confronti, calcoli o operazioni logiche. Vediamo quindi, in maniera schematica, gli operatori che possiamo utilizzare all’interno delle nostre query.

Alcuni di questi li abbiamo già visti in alcuni esempi della nostra guida, soprattutto nell’ambito dell’imposizioni di filtri al comando SELECT mediante la clausola WHERE. In quell’occasione, infatti, abbiamo applicato – senza saperlo – operatori di confronto (=) ed operatori logici (AND e OR).

Gli operatori logici

Sono anche detti operatori logici booleani in quanto lavorano su variabili che possono assumere solo i valori vero e falso. Gli operatori sono utilizzati per creare condizioni composte dove più variabili si combinano tra loro per definire il comportamento del codice.

  • NOT o ! (negazione)
  • AND o && (congiunzione)
  • OR o || (alternanza)
  • XOR (OR esclusivo)

Abbiamo già visto un esempio di utilizzo di operatori logici:

SELECT ... WHERE nome= 'Mario' <strong>AND</strong> cognome = 'Rossi';

Un altro esempio protrebbe essere:

SELECT ... WHERE <strong>NOT</strong> cognome = 'Rossi';

Il risultato di quest’ultima selezione sarebbe stato il medesimo se avessimo usato l’operatore di confronto != in questo modo:

SELECT ... WHERE cognome <strong>!=</strong> 'Rossi';

Vediamo quindi cosa sono e come funzionano gli operatori di confronto.

Gli operatori di confronto

Nella lezione precedente, come appena detto, abbiamo visto come impostare dei filtri nella clausola WHERE basati sull’operatore di eguaglianza (=). In realtà nulla vieta di ultilizzare anche altri operatori. Vediamo di seguito un elenco degli operatori di confronto disponibili in MySQL:

  • = (uguale)
  • != oppure <> (diverso)
  • < (minore)
  • <= (minore o uguale)
  • > (maggiore)
  • >= (maggiore o uguale)

Gli operatori uguale (=) e diverso (!=) possono essere utilizzati anche per effettuare confronti tra stringe; gli altri operatori, solitamente, sono utilizzati esclusivamente per raffronti tra valori numerici.

Gli operatori matematici

MySQL supporta i classici operatori matematici tradizionali, cioè:

  • + (addizione)
  • (sottrazione)
  • * (moltiplicazione)
  • / (divisione)
  • % (modulo)

Questi operatori risultano molto utili quando, ad esempio, si devono svolgere dei calcoli all’interno di una SELECT. Per fare un esempio si supponga di voler restituire il valore dato dalla sottrazione di due campi:

SELECT (ordini - resi) AS vendite FROM clienti;
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

In questa guida...