PostgreSQL IN, non IN con esempi

Cosa è PostgreSQL In ?

L'operatore IN viene utilizzato in una clausola WHERE che consente di verificare se un valore è presente in un elenco di altri valori. In OperaQuesta soluzione aiuta a ridurre la necessità di più condizioni OR nelle istruzioni SELECT, UPDATE, INSERT o DELETE.

Sintassi

L'operatore IN ha la seguente sintassi:

value IN (value_1, value_2, ...)

Il valore è il valore che stai controllando nell'elenco.

Il value_1, value_2... sono i valori della lista.

Se il valore viene trovato nell'elenco, l'operatore restituirà true.

L'elenco può essere un insieme di numeri di stringhe o anche il risultato di output di a Istruzione SELECT come mostrato di seguito:

value IN (SELECT value FROM table-name);

L'istruzione inserita tra parentesi è nota come subquery.

Con carattere

Mostriamo come utilizzare l'operatore IN con valori di carattere.

Considera la seguente tabella:

Dipendenti:

PostgreSQL Con carattere

Eseguiamo la seguente query sulla tabella sopra:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Restituisce quanto segue:

PostgreSQL Con carattere

Abbiamo un elenco di tre nomi. Stiamo cercando di trovare qualcuno di questi nomi nella colonna nome della tabella Employees. Kate Joel è stata abbinata a uno dei record della tabella e ne sono stati restituiti i dettagli.

Con numerico

Ora vediamo come possiamo utilizzare l'operatore IN con valori numerici.

Considera la tabella dei prezzi riportata di seguito:

Prezzo:

PostgreSQL Dentro con numerico

Possiamo eseguire la seguente query sulla tabella:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

Questo restituisce quanto segue:

PostgreSQL Dentro con numerico

Abbiamo creato un elenco con 4 valori numerici. Stiamo verificando se possiamo abbinare uno qualsiasi di questi valori con i valori contenuti nella colonna prezzo della tabella Prezzo. Sono stati abbinati due valori e sono stati restituiti i relativi dettagli.

Utilizzo dell'operatore NOT

L'operatore IN può essere utilizzato insieme all'operatore NOT. Restituisce i valori che non si trovano nella colonna specificata. Utilizzeremo la tabella dei prezzi per dimostrarlo.

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

Verrà restituito quanto segue:

PostgreSQL Nell'utilizzo dell'operatore NOT

Abbiamo creato un elenco con 4 valori numerici. Stiamo controllando la colonna prezzo della tabella Prezzo per valori che non fanno parte dell'elenco. Due valori, 250 e 300, non sono stati trovati. Quindi i loro dettagli sono stati restituiti.

Utilizzando pgAdmin

Vediamo ora come si possono eseguire le azioni utilizzando pgAdmin.

Con carattere

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Utilizzo di pgAdmin con caratteri

Passo 3) Digita la query nell'editor di query:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Passo 4) Fare clic sul pulsante Esegui.

Utilizzo di pgAdmin con caratteri

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con caratteri

Con numerico

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Utilizzo di pgAdmin con numerico

Passo 3) Digita la query nell'editor di query:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

Passo 4) Fare clic sul pulsante Esegui.

Utilizzo di pgAdmin con numerico

Dovrebbe restituire quanto segue:

Utilizzo di pgAdmin con numerico

Utilizzo dell'operatore NOT

Per ottenere lo stesso risultato tramite pgAdmin, procedi come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Utilizzo dell'operatore NOT

Passo 3) Digita la query nell'editor di query:

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

Passo 4) Fare clic sul pulsante Esegui.

Utilizzo dell'operatore NOT

Dovrebbe restituire quanto segue:

Utilizzo dell'operatore NOT

Sintesi

  • L'operatore IN viene utilizzato con l'operatore WHERE. Permette di verificare se un particolare valore è presente in una tabella specifica.
  • L'operatore IN aiuta a ridurre la necessità di più operatori OR nelle istruzioni SELECT, UPDATE, INSERT o DELETE.
  • Quando si crea un elenco di caratteri per verificare la presenza di un valore, ciascun valore nell'elenco deve essere racchiuso tra virgolette singole.
  • L'operatore IN può essere utilizzato anche con valori numerici.
  • Quando l'operatore IN viene utilizzato insieme all'operatore NOT, restituisce tutti i valori che non si trovano nella colonna specificata.

Scarica il database utilizzato in questo tutorial