- Filtrare dati e limitare l'azione di
operazioni di modifica - |
|||
COSA SERVE PER QUESTO TUTORIAL | |||
Chiedi sul FORUM | Glossario | Conoscenza dell'HTML - un server che supporti la tecnologia ASP .NET - facoltativamente un editor provvisto di intellisense (es. Macromedia Dreamweaver) | ||
La clausola SQL WHERE per filtrare il campo d'azione di una query | |||
WHERE Un semplice esempio per spiegare come limitare il campo d'azione di una query ad un database Access.
In molte query (come SELECT, DELETE e UPDATE) è
spesso utile se non indispensabile l'utilizzo della parola chiave
WHERE il cui obiettivo è quello di limitare la query solo a certe
righe. DELETE FROM NomeTabella WHERE NomeColonna = 22) Gli operatori matematici disponibili sono i seguenti: =: uguale; <: minore; >: maggiore; <>: diverso (maggiore o minore); <=: minore o uguale; >=: maggiore o uguale. 3) Nell'utilizzare WHERE si deve però prestare attenzione al fatto che, ad esempio, se una colonna contiene testo non sarà possibile utilizzare questa sintassi: DELETE FROM NomeTabella WHERE NomeColonna = Testoma andrà racchiuso tra apici (o apostrofo): DELETE FROM NomeTabella WHERE NomeColonna = 'Testo'4) Stessa cosa se stiamo trattando una data a parte che al posto degli apici vanno utilizzati i cancelletti (#): DELETE FROM NomeTabella WHERE NomeColonna = #25/12/1980#5) Un ulteriore filtro è l'operatore LIKE che supporta i caratteri Jolly: ?: un singolo carattere; *: una quantità indeterminata di caratteri (anche nessuno); #: una singola cifra; [elenco caratteri]: un qualunque dei singoli caratteri compresi nelle parentesi quadre (i caratteri vanno separati attraverso un meno); [!elenco caratteri]: un qualunque singolo carattere tranne quelli compresi tra le parentesi quadre. 6) Questo esempio eliminerà sia Paolo che Paola: DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paol?'7) Elimina Paolo e Paolone: DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paolo*'8) Elimina Paolo1, Paolo2 ma non Paolo10: DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paolo#'9) Elimina Cartella e Cartello ma non Cartelle e Cartelli: DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Cartell[a-o]'10) Elimina Cartelle e Cartelli ma non Cartella e Cartelle: DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Cartell[!a-o]'11) È possibile utilizzare più criteri assieme attraverso gli operatori logici: AND: le due condizioni implicate devono essere entrambe vere perchè la riga venga eliminata; OR: almeno una delle due condizioni deve essere vera perchè la riga venga eliminata; XOR: o una o l'altra condizione implicata deve essere vera (non tutte e due) la riga venga eliminata; NOT: restituisce la riga solo se la condizione implicata non è vera; SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" AND nomecolonna2="Valore2" SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" OR nomecolonna2="Valore2" SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" XOR nomecolonna2="Valore2" SELECT * FROM nometabella1 WHERE NOT nomecolonna1="Valore1"Per esempi di codice riferirsi ai documenti sulle query SELECT, UPDATE e DELETE.
|
|||
<< INDIETRO | by VeNoM00 |