Principali operatori
In questo capitolo vedremo i principali operatori che MySQL ci mette
a disposizione per confrontare i dati nella costruzione delle nostre query.
Faccio un esempio pratico.
Se volessimo trovare tutti gli utenti che hanno fanno "Rossi" di cognome, allora
utilizzeremo l'operatore di uguaglianza = sulla colonna cognome
della tabella utenti, come nell'esempio che segue.
SELECT * FROM `utenti` WHERE `cognome` = 'Rossi';
|
|
Al nome della colonna segue quindi l'operatore, mentre all'operatore segue il valore che
deve essere confrontato.
Il valore utilizzato per il confronto può essere:
- Statico: WHERE `cognome` = 'Rossi'
- Espressione: WHERE `anno_nascita` = 2000 + 5
- Un altro campo: WHERE `nome` = `cognome`
|
Prima di vedere il resto degli operatori, li dividerermo in due macrocategorie, ossia gli
Operatori di confronto e gli
Operatori di condizione.
Gli operatori di condizione servono a costruire delle clausole
WHERE più complesse, per realizzare quindi delle condizioni formate da
ulteriori sotto-condizioni, le quali saranno invece costruite con degli operatori di confronto.
Per esempio: AND è un'operatore di condizione e lo
utilizzeremo per strutturare una WHERE in due sotto-condizioni nelle quali utilizzeremo
invece l'operatore di uguaglianza in questo modo:
SELECT * FROM `utenti` WHERE `nome` = 'Mario'
AND `anno_di_nascita` = 1980;
Nell'esempio precedente verranno selezionati tutti gli utenti che hanno Mario come
nome e che sono nati nel 1980.
Principali operatori di Confronto
- Operatore di uguaglianza =
- Operatore di disuguaglianza != oppure <>
- Operatore di minoranza <
- Operatore di maggioranza >
- Operatore di minoranza o uguaglianza <=
- Operatore di maggioranza o uguaglianza >=
Principali operatori di Condizione
- Operatore AND logico
- Operatore OR logico
Con questi operatori è possibile costruire condizioni complesse quanto si vuole,
annidando ulteriori sotto-condizioni grazie all'ausilio di parantesi tonde come
mostrerò nell'esempio che segue:
SELECT * FROM `utenti` WHERE `nome` = 'Mario` AND
(`cognome` = 'Rossi' OR `cognome` = 'Verdi');
Nell'esempio verranno selezionati tutti gli utenti che si chiamano Mario Rossi oppure
Mario Verdi.