DataBoosters
SQL
Saltar+6 XP

TiendaMX quiere los clientes que SÍ tienen al menos un pedido registrado.

Mira EXISTS y su diferencia con IN.

EXISTS pregunta «¿hay alguna fila?»

No le importa el valor exacto, solo si la subconsulta encuentra AL MENOS una fila

IN compara contra una lista de valores

WHERE id IN (SELECT cliente_id FROM pedidos) trae los que su id aparece en esa lista

Ambos pueden llegar al mismo resultado

Para tiene al menos un pedido, EXISTS e IN suelen dar la misma respuesta, escritos de forma distinta

El detalle que importa

EXISTS no necesita saber los valores exactos

EXISTS (SELECT 1 FROM pedidos WHERE ...) usa el 1 solo como relleno: no importa qué columna se traiga, EXISTS únicamente revisa si apareció alguna fila.