SQL WHERE IN Clausola

Sql Where In Clausola



In SQL, possiamo utilizzare la clausola WHERE IN per filtrare i risultati in un determinato database. La clausola WHERE IN ci consente di selezionare le righe da un dato database che corrispondono a uno o più valori specificati da un dato elenco.

In questo tutorial esploreremo la clausola WHERE IN per scoprire come possiamo utilizzarla per filtrare i risultati da una determinata tabella o set di risultati.

SQL WHERE IN Clausola

Di seguito viene mostrata la sintassi di base della clausola WHERE IN in SQL:







SELEZIONA colonna1, colonna2, ...
DA nome_tabella
WHERE nome_colonna IN (valore1, valore2, ...);

Iniziamo con un'istruzione di base 'select' seguita dalle colonne che desideriamo includere nel set di risultati.



Successivamente, specifichiamo la tabella da cui desideriamo recuperare i risultati. Infine specifichiamo la condizione del filtro utilizzando la clausola WHERE seguita dal nome della colonna su cui desideriamo filtrare. Dopo la clausola IN, specifichiamo un elenco di valori che vogliamo utilizzare per il filtraggio.



Esempio 1: filtrare un singolo risultato

Per dimostrare meglio come utilizzare la clausola WHERE IN, guardiamo un esempio. Consideriamo la tabella “film” dal database di esempio Sakila.





Supponiamo di voler recuperare tutti i film con classificazione PG o PG-13. Possiamo usare la clausola WHERE IN come segue:

SELEZIONA titolo, anno_uscita, valutazione
DAL cinema
DOVE classificazione IN ('PG');

In questo caso, forniamo un elenco di un singolo valore che desideriamo recuperare nella clausola IN.



Esempio 2: filtrare più valori

Possiamo anche specificare più di un elemento nell'elenco dei valori. Ad esempio, per recuperare i film con un elenco con classificazione PG e PG-13, possiamo eseguire la query come segue:

SELEZIONA titolo, anno_uscita, valutazione
DAL cinema
DOVE valutazione IN ('PG', 'PG-13');

L'output risultante è il seguente:

Esempio 3: filtro con sottoquery

Possiamo anche utilizzare WHERE IN in una sottoquery che può consentirci di filtrare i risultati da un determinato set di risultati.

Supponiamo di voler filtrare i film in base alla lingua. Ad esempio, per recuperare i film in lingua inglese e giapponese, possiamo utilizzare WHERE IN all'interno di una sottoquery come segue:

SELEZIONA titolo, anno_uscita, valutazione
DAL film f
DOVE id_lingua IN (
SELEZIONA id_lingua
DALLA lingua
DOVE nome IN ('inglese', 'giapponese')
);

In questo esempio creiamo una sottoquery che recupera i valori “lingual_id” per le lingue inglese e giapponese dalla tabella “linguals”. Nella query principale selezioniamo i film in base ai valori “lingual_id” risultanti.

Conclusione

In questo post abbiamo imparato come lavorare con la clausola WHERE IN in SQL per filtrare i risultati che corrispondono a uno o più valori in un determinato elenco.