Cos'è 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 Operation aiuta a ridurre la necessità di più condizioni OR nelle istruzioni SELECT, UPDATE, INSERT o DELETE.
In questo tutorial di PostgreSQL imparerai quanto segue:
- Cos'è PostgreSQL In?
- Sintassi
- Con carattere
- Con numerico
- Utilizzo dell'operatore NOT
- Utilizzando pgAdmin
Sintassi
L'operatore IN assume la seguente sintassi:
value IN (value_1, value_2,… )
Il valore è il valore che stai cercando nell'elenco.
Il valore_1, il valore_2
... sono i valori della lista.Se il valore si trova nell'elenco, l'operatore restituirà un vero.
L'elenco può essere un insieme di numeri di stringhe o anche il risultato di output di un'istruzione SELECT come mostrato di seguito:
value IN (SELECT value FROM table-name);
L'istruzione inserita tra parentesi è nota come sottoquery.
Con carattere
Dimostriamo come puoi usare l'operatore IN con i valori dei caratteri.
Considera la seguente tabella:
Dipendenti:
Eseguiamo la seguente query sulla tabella sopra:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Restituisce quanto segue:
Abbiamo una lista di tre nomi. Stiamo cercando se possiamo trovare qualcuno di questi nomi nella colonna dei nomi della tabella Impiegati. La Kate Joel è stata abbinata a uno dei record della tabella e i suoi dettagli sono stati restituiti.
Con numerico
Vediamo ora come possiamo usare l'operatore IN con valori numerici.
Considera la tabella dei prezzi riportata di seguito:
Prezzo:
Possiamo eseguire la seguente query sulla tabella:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Ciò restituisce quanto segue:
Abbiamo creato una lista con 4 valori numerici. Stiamo verificando se possiamo abbinare uno qualsiasi di questi valori con i valori contenuti nella colonna dei prezzi della tabella dei prezzi. Sono stati trovati 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. Useremo la tabella dei prezzi per dimostrarlo.
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Ciò restituirà quanto segue:
Abbiamo creato una lista con 4 valori numerici. Stiamo controllando la colonna dei prezzi della tabella dei prezzi per i valori che non fanno parte dell'elenco. Non sono stati trovati due valori, 250 e 300. Quindi i loro dettagli sono stati restituiti.
Utilizzando pgAdmin
Vediamo ora come eseguire le azioni utilizzando pgAdmin.
Con carattere
Per ottenere lo stesso risultato tramite pgAdmin, procedere come segue:
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Digita la query nell'editor di query:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Con numerico
Per ottenere lo stesso risultato tramite pgAdmin, procedere come segue:
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Digita la query nell'editor di query:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Utilizzo dell'operatore NOT
Per ottenere lo stesso risultato tramite pgAdmin, procedere come segue:
Passaggio 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
Passaggio 3) Digita la query nell'editor di query:
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Passaggio 4) Fare clic sul pulsante Esegui.
Dovrebbe restituire quanto segue:
Sommario:
- L'operatore IN viene utilizzato con l'operatore WHERE. Consente di verificare se un determinato 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, ogni 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