CorsiSQL

Come filtrare tabella sql tramite una lista di valori

Supponiamo che tu stia filtrando la tua tabella SQL contenente l’anagrafica degli utenti iscritti in un sito-web e nella clausola di selezione voglia inserire una lista di nomi, solitamente provvederesti con una serie di AND posti uno successivamente all’altro. Questo potrebbe rendere la tua query molto disordinata e propensa ad errori, la risoluzione ad una simile tematica si ottiene utilizzando l’apposito operatore IN.

L’operatore IN viene posto all’interno della clausola where e come parametro richiede richiede una lista. La tipologia di elementi che compone la lista può essere di differenti tipologie: testo, numerico, date etc. Componendo una struttura della query simile alla seguente:

SELECT COLONNA1,COLONNA2
FROM TABELLA
WHERE COLONNA1 IN (ELEMENTO1,ELEMENTO2,ELEMENTO3)

Riprendendo l’esempio iniziale dell’anagrafica degli utenti supponiamo di avere a disposizione la seguente tabella:

IDNomeCognomeIndirizzoLocalitàCAPTelefonoNascita
1Alvisio ManfrinPiazza Bovio, 12Monteorsello 41052NULL15/07/2000
2PietroDe LucaVia Santa Teresa degli Scalzi, 20Montelepre 900400348540536129/07/1982
3Brigida GenoveseVia Lombardi, 17Piario 240200338262794007/07/1988
4Salvo BucchoVia Torricelli, 31Lases 380400330738042816/05/1980
5Orlando TrevisanVia Gaetano Donizetti, 91Bussolengo 37012NULL21/08/1981
ANAGRAFICA_UTENTI

Se volessimo essere a conoscenza di tutti gli utenti che vivono a Monteorsello, Montelepre e Piario non essendo a conoscenza dell’operatore IN scriveremmo una query di simile alla seguente:

SELECT * FROM ANAGRAFICA_UTENTI
WHERE Località = 'Monteorsello' and Località = 'Montelepre' and Località = 'Piario'

La query utilizzando l’operatore IN all’interno del WHERE ci consentirà di filtrare tramite una lista di valori consentendo di ridurre vistosamente la quantità di codice da scrivere:

SELECT * FROM ANAGRAFICA_UTENTI
WHERE Località in ('Monteorsello','Montelepre','Piario')

Il risultato sarà il medesimo:

IDNomeCognomeIndirizzoLocalitàCAPTelefonoNascita
1Alvisio ManfrinPiazza Bovio, 12Monteorsello 41052NULL15/07/2000
2PietroDe LucaVia Santa Teresa degli Scalzi, 20Montelepre 900400348540536129/07/1982
3Brigida GenoveseVia Lombardi, 17Piario 240200338262794007/07/1988
ANAGRAFICA_UTENTI

LINK UTILI

Pagina Instagram: https://www.instagram.com/developer_sumo/
I nostri corsi: https://www.developersumo.com/corsi/
Corso SQL: https://www.developersumo.com/sql/
Scopri le nostre App su Google Play: https://play.google.com/store/apps/details?id=com.developersumo.app

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

More in:Corsi

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *