L'operatore IN
viene utilizzato con la clausola WHERE
per confrontare i valori in un elenco. Per esempio:
SELECT name, country FROM customers WHERE country IN ('USA', 'UK');
L'operatore IN
può essere utilizzato anche per selezionare le righe in cui esiste un determinato valore nella colonna specificata. Per esempio:
SELECT name, country FROM customers WHERE 'USA' IN (country);
L'operatore NOT IN
viene utilizzato per escludere le righe che corrispondono ai valori nell'elenco. Per esempio:
SELECT name, country FROM customers WHERE country NOT IN ('UK', 'UAE');
L'operatore IN
ignora i valori duplicati nell'elenco. Per esempio questo codice:
SELECT name, country FROM customers WHERE country IN ('USA', 'UK', 'USA');
equivale a questo codice:
SELECT name, country FROM customers WHERE country IN ('USA', 'UK');
All'interno dell'operatore IN
può essere indicata una sottoquery, i cui risultati verranno utilizzati come valori per l'operatore IN
. Per esempio:
SELECT customer_id, name FROM customers WHERE customer_id IN ( SELECT customer_id FROM orders );