Riepilogo: in questo tutorial, imparerai come usare l’operatore PostgreSQL IN nella clausola WHERE
per verificare se un valore corrisponde a qualsiasi valore in un elenco.
PostgreSQL NELLA sintassi dell’operatore
Si utilizza l’operatore IN
nella clausola WHERE
per verificare se un valore corrisponde a qualsiasi valore in un elenco di valori.
La sintassi dell’operatore IN
è la seguente:
Code language: SQL (Structured Query Language) (sql)
L’operatore IN
restituisce true se value
corrisponde a qualsiasi valore nell’elenco, ovvero, value1
, value2
, …
L’elenco dei valori può essere un elenco di valori letterali come numeri, stringhe o un risultato di un’istruzione SELECT
come questa:
Code language: SQL (Structured Query Language) (sql)
La query all’interno delle parentesi è chiamata subquery, che è una query annidata all’interno di un’altra query. Nota che imparerai di più sulla sottoquery nel tutorial successivo
PostgreSQL NEGLI esempi di operatori
Supponiamo di voler conoscere le informazioni di noleggio dell’id cliente 1 e 2, puoi usare l’operatore IN
nella clausola WHERE
come segue:
La query seguente utilizza gli operatori equal (=
) e OR
invece dell’operatore IN. È equivalente alla query precedente:
La query che utilizza l’operatoreIN
è più breve e più leggibile della query che utilizza gli operatori equal (=
) e OR
. Inoltre, PostgreSQL esegue la query con l’operatore IN
molto più velocemente della stessa query che utilizza un elenco di operatori OR
.
PostgreSQL NON NELL’operatore
È possibile combinare l’operatore IN
con l’operatore NOT
per selezionare righe i cui valori non corrispondono ai valori nell’elenco.
Ad esempio, la seguente dichiarazione rileva che tutti i noleggi con l’ID cliente non sono 1 o 2.
Simile all’operatore IN
, è possibile utilizzare gli operatori not equal (<>
) e AND
per scrivere l’operatore NOT IN
:
Questa query restituisce lo stesso output della query precedente che utilizza l’operatore NOT IN
.
PostgreSQL con una sottoquery
La query seguente restituisce un elenco di id di clienti dal rental
tabella con la data di rientro è 2005-05-27
:
Perché questa query restituisce un elenco di valori, si può utilizzare come input per il IN
operatore come questo:
Per ulteriori informazioni sul sottoquery, il check-out la subquery tutorial.
In questo tutorial, hai imparato come usare l’operatore PostgreSQL IN
per verificare se un valore corrisponde a qualsiasi valore in un elenco di valori.
- Questo tutorial è stato utile ?
- Sìno