Ricerche su insiemi, testi e valori nulli

IN e NOT IN

L’operatore IN restituisce TRUE se il valore dell’espressione a sinistra esiste nella lista dei valori specificati alla sua destra. Al contrario, NOT IN restituisce TRUE se il valore dell’espressione a sinistra non esiste nella lista dei valori alla sua destra.

Impiegati del dipartimento con ID uguale a uno dei valori nella lista (10, 20)

SQL> SELECT last_name AS cognome, department_ID
  2  FROM employees
  3  WHERE department_id IN (10, 20);
Risultato della query

Se usassimo l’operatore NOT IN con la stessa lista di valori dell’esempio precedente otterremmo tutti gli impiegati che non lavorano nei dipartimenti 10 e 20.

BETWEEN…AND

È utilizzato per restituire i valori compresi in un intervallo specifico di valori. BETWEEN 5 AND 8, ad esempio, restituisce tutti i valori compresi fra 5 e 8.

Impiegati che guadagnano da 5000 a 6000

SQL> SELECT last_name AS cognome, salary
  2  FROM employees
  3  WHERE salary BETWEEN 5000 AND 6000;
Risultato della query

IS NULL

È utilizzato per trovare i valori NULL nelle colonne specificate. Questo operatore restituisce TRUE se la riga della colonna interrogata contiene un valore NULL.

NOTA: Gli operatori di uguaglianza (=) e disuguaglianza (<>) non funzionano con i valori NULL.

Impiegati non assegnati ad alcun dipartimento

SQL> SELECT last_name AS cognome, first_name AS nome, department_id
  2  FROM employees
  3  WHERE department_id IS NULL;
Risultato della query

IS NOT NULL

È utilizzato per trovare i valori diversi da NULL nelle colonne specificate, pertanto restituisce TRUE se la riga della colonna interrogata non contiene un valore NULL

Possiamo riproporre il precedente esempio sostituendo però IS NULL con IS NOT NULL. Otterremo una lista di impiegati da cui è escluso “Grant Kimberly”.

LIKE

È un operatore molto utilizzato per eseguire i confronti di somiglianza. È possibile usare caratteri speciali per generalizzare le ricerche.

  • Percentuale (%) indica qualsiasi carattere e qualsiasi numero di caratteri
  • Trattino basso (_) indica un qualsiasi carattere singolo

Impiegati il cui cognome inizia per le lettere ‘Ge’

SQL> SELECT last_name AS cognome, first_name AS nome
  2  FROM employees
  3  WHERE last_name LIKE 'Ge%';
Risultato della query

Ancora un esempio sull’utilizzo di LIKE e dei caratteri % e _.

Il cognome degli impiegati la cui prima lettera è una qualsiasi e la seconda lettera è una ‘u’

SQL> SELECT last_name AS cognome
  2  FROM employees
  3  WHERE last_name LIKE '_u%';
Risultato della query
Both comments and pings are currently closed.

Comments are closed.