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

  1. Come si utilizza l'operatore BETWEEN nelle query SQL?
  2. 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".

  3. In che modo l'operatore IN viene utilizzato per controllare l'appartenenza in SQL?
  4. 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'".

  5. Qual è la funzione dell'operatore LIKE nelle query SQL?
  6. 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'.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community