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 21 / 50

Comprobar existencia con EXISTS

En esta lección filtrarás por «tiene al menos un registro relacionado», sin que te importe cuántos ni cuáles.

EXISTS (subconsulta) devuelve verdadero en cuanto la subconsulta produce una fila. Lo habitual es que la subconsulta haga referencia a la fila exterior (aquí, l.book_id = b.id), lo que se llama subconsulta correlacionada: se evalúa para cada fila de la consulta principal.

El código de ejemplo devuelve los libros que se han prestado alguna vez. Se escribe SELECT 1 dentro porque da igual qué columna se seleccione: solo importa si hay o no hay filas.

Comparado con IN, EXISTS tiene una ventaja importante: puede parar en cuanto encuentra la primera coincidencia, mientras que IN necesita construir la lista completa. Además, EXISTS se comporta correctamente cuando hay valores NULL de por medio, cosa que NOT IN no hace.

En consultas de negocio aparece constantemente: clientes que han comprado alguna vez, artículos con al menos una reseña, usuarios con sesión activa. Y su versión negada, NOT EXISTS, sirve para encontrar justo lo contrario.

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)