AND, OR
Quando si devono utilizzare più criteri insieme entrano in gioco
due operatori della logica matematica, che, sopratutto all’inizio, creano
confusione. Questi operatori sono rappresentati in Word dalle lettere
“e” e “o”, tradotti dai relativi operatori inglesi “AND” e “OR”. Non
conviene utilizzare la traduzione letterale, perché AND e OR
non sono congiunzioni, ma operatori matematici. La traduzione letterale
in “e” e “o” è quella che crea più confusione, una traduzione
più adeguata potrebbe essere AND = contemporaneamente, OR = oppure.
Prima di vedere come utilizzare gli operatori in Word, cerchiamo di
capire come funzionano in generale. Si visualizza l’effetto degli operatori
con una tabella, chiamata “Tabella di verità”. Si considerano
2 criteri (C1 e C2), si vede la validità di ciascun criterio,
i risultati dei due criteri vengono composti con gli operatori. La tabella
di verità è rappresentata nella figura 01.
FIG. 01
In poche parole, il significato è il seguente:
· AND restituisce come risultato vero solo se tutti i
criteri, contemporaneamente sono verificati, altrimenti il risultato
è falso;
· OR restituisce come risultato vero se almeno uno dei
criteri è verificato, restituisce falso solo se tutti i criteri
sono falsi.
Purtroppo, essendo operatori matematici, non è facile capire
la loro funzione.
Proviamo a simulare il comportamento del programma sull’elenco visualizzato
nella figura 02.
FIG. 02
Si vogliono trovare tutti i clienti di Treviso e di Padova. Questa
è la query, si deve tradurre in criteri: il criterio 1 è
“città uguale a Treviso”, il criterio 2 è “città
uguale a Padova”. Il problema è come mettere insieme i due criteri,
cioè quale operatore utilizzare. Sembrerebbe logico, leggendo
la query, utilizzare AND, in quanto l’interrogazione dive “Treviso e
Padova”. Questo non si può fare, come detto sopra, non si deve
tradurre “e” con AND, perché quest’ultimo non è una congiunzione,
come la “e” della query.
Se non si riesce a capire quale operatore deve essere utilizzato, si
può provare a lavorare come il programma. Word passa le righe
della tabella, dalla prima all’ultima, e, per ogni riga, verifica i
criteri.
Controlliamo la prima riga. Primo criterio: la città è
uguale a Treviso? Sì, quindi il criterio è verificato,
segniamo vero (V). Secondo criterio: la città è uguale
a Padova? No, quindi il criterio non è verificato, segniamo falso
(F).
Controlliamo la seconda riga. Primo criterio: la città è
uguale a Treviso? No, quindi il criterio non è verificato, segniamo
falso (F). Secondo criterio: la città è uguale a Padova?
Sì, quindi il criterio è verificato, segniamo vero (V).
Controlliamo la terza riga. Primo criterio: la città è
uguale a Treviso? No, quindi il criterio non è verificato, segniamo
falso (F). Secondo criterio: la città è uguale a Padova?
No, quindi il criterio non è verificato, segniamo falso (F).
Si procede in questo modo per tutte le righe, alla fine si ottiene la
tabella visualizzata nella figura 03.
FIG. 03
Componendo i risultati con gli operatori si ottiene la tabella della
figura 04.
FIG. 04
Utilizzando AND non esiste nessun record della tabella che possa verificare
i due criteri contemporaneamente, per cui il risultato della query è
0 record.
Utilizzando OR, invece, sono presi tutti i record che hanno la città
uguale a Treviso oppure la città uguale a Padova, che è
quello che si voleva ottenere, figura 05.
FIG. 05
Facciamo un altro esempio. Si vogliono trovare tutti i clienti di Treviso,
laureati. Questa è la query, si deve tradurre in criteri: il
criterio 1 è “città uguale a Treviso”, il criterio 2 è
“titolo uguale a dott.”. Il problema, come nel caso precedente, è
come mettere insieme i due criteri, cioè quale operatore utilizzare.
Se non si riesce a capire quale operatore deve essere utilizzato, conviene
provare a lavorare come il programma, come è stato fatto nell’esempio
precedente.
Controlliamo la prima riga. Primo criterio: la città è
uguale a Treviso? Sì, quindi il criterio è verificato,
segniamo vero (V). Secondo criterio: il titolo è uguale a dott.?
No, quindi il criterio non è verificato, segniamo falso (F).
Si procede in questo modo per tutte le righe, alla fine si ottiene la
tabella visualizzata nella figura 06.
FIG. 06
La tabella risultante con l’operatore AND è visualizzata nella
figura 07.
FIG. 07
Il risultato utilizzando l’operatore OR è visualizzato nella
figura 08.
FIG. 08
Il risultato corretto, quindi, si ottiene utilizzando AND.
Il problema principale è che, in ogni caso (cioè utilizzando
entrambi gli operatori), si ottiene un risultato, ma solo uno è
corretto. Ogni volta che si creano query con più criteri, conviene
controllare di aver ottenuto il risultato corretto. Word visualizza
un messaggio di “errore” solo se non esiste un record della tabella
che verifica i criteri. Questo messaggio non significa, però,
che è sbagliata l’interrogazione proposta, ma solo che nella
tabella presa in considerazione non ci sono record che verificano i
criteri, ma potrebbero esserci in altre tabelle.