Subqueries são queries dentro de queries. Poderosas mas podem ser lentas. Aprenda quando usar e alternativas performáticas.
Carregando
Subqueries são queries dentro de queries. Poderosas mas podem ser lentas. Aprenda quando usar e alternativas performáticas.
Subqueries são queries dentro de queries. Poderosas mas podem ser lentas. Aprenda quando usar e alternativas performáticas.
Retorna single value. Usado em SELECT, WHERE. SELECT (SELECT MAX(price) FROM products) AS max_price.
Retorna lista de valores. Usado com IN. WHERE user_id IN (SELECT id FROM active_users).
Retorna table. Usado em FROM. SELECT * FROM (SELECT * FROM users WHERE active = true) AS active_users.
Referencia outer query. Executa para cada row. Lento. WHERE price > (SELECT AVG(price) FROM products p2 WHERE p2.category = p1.category).
• EXISTS ao invés de IN para grandes datasets
• CTEs (WITH) para readability
• Window functions ao invés de correlated subqueries
• Subqueries em FROM devem ter alias
• EXPLAIN para verificar performance
• Prefira JOINs quando possível
• Correlated subquery quando JOIN resolve
• IN com subquery enorme (use EXISTS)
• Subquery sem índices
• Múltiplas subqueries correlacionadas
• Não testar performance
Quando usar cada um