Concetti Chiave
- BETWEEN è utilizzato per verificare se un valore è compreso in un intervallo specifico e può essere invertito con NOT.
- IN controlla se un valore appartiene a una lista specificata e può essere negato con NOT per ottenere l'opposto.
- LIKE confronta stringhe con modelli usando caratteri jolly come _ e %, utile per ricerche flessibili.
- IS NULL identifica i campi con valore null, distinguendoli dalle stringhe vuote.
- Le condizioni di ricerca in SQL possono essere combinate per filtrare i dati in modo preciso ed efficace.
Search Conditions
Using between in queries
Le condizioni di ricerca utilizzate nelle clausole WHERE e HAVING:
➔ ➔ ➔ BETWEEN verifica i valori compresi in un intervallo di valori; se si pone NOT prima di BETWEEN si verifica la condizione apposta.
Es.: SELECT Cognome, Nome, Residenza
FROM Impiegati
WHERE Stipendio BETWEEN 30000 AND 45000;
n.b.: il codice WHERE Stipendio BETWEEN 30000 AND 45000 è equivalente a: WHERE Stipendio>=30000 AND Stipendio45000;
Using in to check membership
➔ IN: verifica se un valore appartiene a uno dei valori di una lista che viene precisata dopo la parola IN all'interno della condizione; l’IN può essere preceduto da NOT per indicare il valore contrario.
Es.: tutti i dati dei dipendenti che risiedono a Torino, Venezia e Palermo
SELECT *
FROM Impiegati
n.b.: il codice WHERE Residenza IN (‘Torino’, ‘Venezia’, ‘Palermo’) è equivalente a:
Residenza =‘Torino’ OR Residenza =‘Venezia’ OR Residenza =‘Palermo’;
String comparison with like
➔ LIKE: confronta il valore di un attributo di tipo carattere con un modello di stringa, che può contenere caratteri jolly; si può usare il comando NOT prima del LIKE. I caratteri jolly sono:
_ : per indicare uno ed un solo carattere qualsiasi in quella posizione della stringa (equivalente al simbolo ? in Access)
%: per indicare la presenza di zero o più caratteri in quella posizione della stringa (equivalente al simbolo * in Access)
cercare stringhe che iniziano con i caratteri ‘alb’:LIKE ‘alb%’
cercare stringhe che terminano con i caratteri ‘rto’: LIKE ‘%rto’
cercare stringhe di 6 o più caratteri che contengono i caratteri ‘castig’: LIKE ‘%castig%’
cercare stringhe di 4 caratteri che terminano con ‘lia’: LIKE ‘_lia’
Es.: elencare nome e cognome dei dipendenti, il cui cognome inizi per R:
SELECT Cognome, Nome
FROM Impiegati
WHERE Cognome LIKE ’R%’;
Identifying null values
➔ IS NULL: è anche possibile identificare in un campo la presenza di campi con valore Null
SELECT ID AS Matricola, Cognome, Nome
FROM Impiegati
n.b.:Cosa diversa dal verificare che in Dipartimento ci sia una stringa di caratteri vuota “ ”:
SELECT ID AS Matricola, Cognome, Nome
FROM Impiegati, Dipartimenti
WHERE Dipartimento=’ ‘ ;
Domande da interrogazione
- Come si utilizza l'operatore BETWEEN nelle query SQL?
- In che modo l'operatore IN viene utilizzato per controllare l'appartenenza in SQL?
- Qual è la funzione dell'operatore LIKE nelle query SQL?
L'operatore BETWEEN viene utilizzato per verificare se un valore rientra in un intervallo specificato. Può essere preceduto da NOT per verificare la condizione opposta. Ad esempio, "WHERE Stipendio BETWEEN 30000 AND 45000" è equivalente a "WHERE Stipendio >= 30000 AND Stipendio <= 45000".
L'operatore IN verifica se un valore appartiene a una lista specificata. Può essere preceduto da NOT per indicare il contrario. Ad esempio, "WHERE Residenza IN ('Torino', 'Venezia', 'Palermo')" è equivalente a "Residenza = 'Torino' OR Residenza = 'Venezia' OR Residenza = 'Palermo'".
L'operatore LIKE viene utilizzato per confrontare un valore di tipo carattere con un modello di stringa che può includere caratteri jolly. Ad esempio, "LIKE 'alb%'" cerca stringhe che iniziano con 'alb', mentre "LIKE '%rto'" cerca stringhe che terminano con 'rto'.