Operatore IN ( Sql )

Nel linguaggio SQL l'operatore IN è utilizzato per selezionare i record che soddisfano due o più condizioni di ricerca.

A cosa serve?

Si tratta di un operatore logico relazione. L'operatore IN mi permette di specificare una lista di valori come clausole di ricerca in un'unica query.

La sintassi

La sintassi dell'operatore è la seguente:

SELECT [campi]
FROM [tabella]
WHERE [campo] IN ( [clausole di ricerca] ) ;

L'operatore IN è generalmente usato nella sezione Where.

Un esempio pratico

Se volessi interrogare un database per cercare tutte le persone che si chiamano Mario o Maria potrei scrivere nel sequente modo:

SELECT *
FROM alunni
WHERE nome IN ('Mario', 'Maria') ;

La precedente query equivale a scrivere due clausole di ricerca separate tra loro dall'operatore OR.

SELECT *
FROM alunni
WHERE ( ( nome = 'Mario' ) OR ( nome = 'Maria') ) ;

Perché l'operatore IN è utile?

Fin quando si tratta di due o tre clausole di ricerca fa poca differenza scrivere in un modo oppure nell'altro.

Quando le clausole di ricerca sono molte l'operatore IN è molto più pratico. Evita di ripetere ogni volta il nome del campo, l'operatore uguale e l'operatore logico OR.

Un altro esempio con valori numerici

Se volessi cercare in una tabella soltanto le persone con 30 o 35 anni d'età potrei scrivere nel seguente modo:

SELECT *
FROM alunni
WHERE anni IN (30, 35) ;

La query estrapola soltanto i record in cui è documentato nel campo 'anni' il numero 30 o 35.

Sono invece esclusi i valori intermedi, le persone con 31, 32, 33 e 34 anni, e tutti gli altri con età superiore o inferiore.



Menu principale

  1. Il linguaggio Sql
knowledge base