Ejemplo: clientes que compraron al menos 3 veces
SELECT c.nombre
FROM clientes c
WHERE 3 <= (
SELECT COUNT(*)
FROM ventas v
WHERE v.id_cliente = c.id_cliente
);
Una subconsulta correlacionada se ejecuta “por cada fila” del SELECT principal.
SELECT c.nombre
FROM clientes c
WHERE 3 <= (
SELECT COUNT(*)
FROM ventas v
WHERE v.id_cliente = c.id_cliente
);
SELECT c.nombre
FROM clientes c
WHERE EXISTS (
SELECT 1
FROM ventas v
WHERE v.id_cliente = c.id_cliente
GROUP BY v.id_cliente
HAVING COUNT(*) >= 3
);