Le condizioni di Ricerca

:welcomeani:

Le condizioni di ricerca sono usate insieme alle clausole WHERE e HAVING per determinare criteri di selezione delle righe e dei raggruppamenti. Nella scrittura delle condizioni si usano i seguenti segni di confronto : =, <, >, <>, !=, >=, <=.

Una condizione di ricerca è costruita anche mettendo insieme più condizioni legate tra loro con gli operatori AND e OR. Le condizioni di ricerca si possono esprimere utilizzando anche altre parole del lignuaggio SQL che indicano operatori e predicati:

-BETWEEN
L'operatore BETWEEN controlla se un valore è compreso all'interno di un intervallo di valore, inclusi gli estremi. E' possibile far precedere l'operatore BETWEEN dall'operatore NOT per ottenere la condizione opposta.

ES.

Codice: Seleziona tutto

SELECT Cognome, Nome, Residenza
FROM Impiegati
WHERE Stipendio BETWEEN 30000 AND 45000;
-IN
L'operatore IN controlla se un valore appartiene a uno dei valori di una lista che viene precisata dopo la parola IN all'interno della condizione. Anche IN può essere preceduto da NOT per ottenere una non appartenenza del valore all'insieme dei valori.

ES.

Codice: Seleziona tutto

SELECT *
FROM Impiegati
WHERE Residenza IN ('Torino','Bari','Milano');
-LIKE
L'operatore LIKE confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere CARATTERI JOLLY (o metacaratteri). Anche in questo caso si può usare l'operatore NOT per ottenere criteri opposti. I CARATTERI JOLLY sono :
_ (underline per indicare un carattere qualsiasi in quella posizione della stringa)
% (percento per indicare una sequenza di zero o più caratteri in quella posizione della stringa)

Per esempio usando:
- LIKE 'xyz%' vengono cercate tutte le stringhe che iniziano con i caratteri 'xyz'.
- LIKE '%xyz' vengono cercate tutte le stringhe che finiscono con i caratteri 'xyz'.
- LIKE '%xyz%' vengono cercate tutte le stringhe di 3 o più caratteri che contengono 'xyz'.
- LIKE '_xyz' vengono cercate tutte le stringhe di 4 o più caratteri che finiscono con 'xyz'.

ES.

Codice: Seleziona tutto

SELECT Cognome, Nome 
FROM Impiegati
WHERE Cognome LIKE 'R%';
Per ricercare uno dei caratteri jolly in una stringa si deve usare uno speciale carattere detto ESCPE per quantificare il carattere come carattere da cercare e non come un metacarattere.

Per esempio , per ricercare la presenza di un carattere _ nel nome di un dipartimento si usa l'espressione : LIKE'%$_%' ESCAPE'$' .
Il carattere $ è il carattere ESCAPE e pertanto , la sequenza '$_' precisa che il carattere _ è il carattere da cercare nella stringa e non un carattere jolly.

-IS NULL
Il predicato IS NULL confronta il valore in una colonna con il valore NULL. E' possibile utilizzare l'operatore NOT per valutare la condizione opposta (IS NOT NULL).

ES.

Codice: Seleziona tutto

SELECT Cognome, Nome 
FROM Impiegati
WHERE Stipendio IS NOT NULL;
:thanks: