Explorem com funciona aquesta funció i com podem utilitzar-la.
Operador SQL IN
El fragment següent mostra la sintaxi de l'operador IN.
cerca_valor [ NO ] EN valor_conjunt
valor_conjunt:
{
( expressió [ , ... ] )
| ( subconsulta )
| LEVANT QUE ( expressió_matriu )
}
La funció accepta els paràmetres següents:
- cerca_valor: defineix una expressió que es compara amb el conjunt de valors donat.
- value_set: el conjunt de valors amb els quals es compara el search_value.
- subconsulta: descriu una subconsulta que retorna una sola columna. Si no es retorna cap valor, el conjunt de valors està buit.
- UNNEST(matriu): retorna una columna de valors d'un valor de matriu donat.
Aleshores, la funció retorna un valor booleà. Retorna TRUE si existeix un valor igual en el conjunt donat i FALSE si no és així.
Exemples
L'exemple següent mostra com utilitzar l'operador IN amb dades de columna. Suposem que tenim una taula amb dades de mostra com es mostra:
Podem utilitzar l'operador IN per seleccionar els registres si el país és MySQL o PostgreSQL.
SELECCIONA
*
DE
BASES DE DADES
ON
SERVER_NAME EN ( 'MySQL' , 'PostgreSQL' ) ;
La consulta anterior hauria de mostrar les files coincidents tal com es mostra:
Mitjançant l'operador IN, també podem comprovar si existeix un valor en una columna determinada. A continuació es mostra un exemple:
SELECCIONA*
DE
BASES DE DADES D
ON
'MySQL' EN ( SERVER_NAME ) ;
En aquest cas, comprovem si el valor 'MySQL' existeix a la columna server_name. El resultat és el que es mostra:
És bo tenir en compte que si heu proporcionat valors duplicats amb l'operador IN. SQL descartarà els valors idèntics i utilitzarà un d'ells.
Conclusió
En aquesta breu publicació, vam explorar l'ús de l'operador IN a Standard/ANSI SQL. L'operador IN us permet comprovar si existeix un valor dins d'un conjunt de valors.
Gràcies per llegir!!