AD

¿Ya dominas lo básico? Un curso estructurado de SQL es la vía rápida para dar el salto.

Ver cursos de SQL en Udemy

Enlace de afiliado. No te cuesta nada extra.

🗄️Lecciones de SQL
Lección 30 / 50

Comparar con varios valores usando IN

En esta lección comprobarás si un valor está dentro de una lista, sin encadenar un montón de OR.

WHERE columna IN (v1, v2, v3) equivale a columna = v1 OR columna = v2 OR columna = v3, pero es mucho más corto y legible. La lista también puede ser el resultado de una subconsulta, que es donde IN resulta más potente.

El código de ejemplo devuelve a los estudiantes de las clases 1 y 3. Añade un 4 a la lista y verás aparecer una fila más.

Hay una trampa seria con la versión negada: si la lista contiene un NULL, NOT IN no devuelve ninguna fila, por la lógica de tres valores de SQL. Es un error muy difícil de detectar porque no da ningún aviso; en esos casos se usa NOT EXISTS.

Con listas muy largas — miles de identificadores pegados en la consulta — el rendimiento se degrada y algunas bases de datos tienen un límite. Cuando los valores vienen de otra tabla, es mejor un JOIN o un EXISTS que una lista literal enorme.

SQL
SALIDA

💡 El motor de SQL puede tardar unos segundos en cargarse la primera vez que ejecutas código.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)