Subconsultas Correlacionadas ou Correlated Subqueries

Subconsultas correlacionadas também conhecidas como Correlated Subqueries em inglês permite realizar consultas mais complexas e dinâmicas.

Estas subconsultas são utilizadas quando queremos referenciar uma coluna de uma subconsulta na consulta principal.


Sintaxe básica

SELECT coluna1, coluna2, ....
FROM tablela_A as a
WHERE column1 operator
    (SELECT coluna1, coluna2, ....
    FROM tablela_B
    WHERE expressão1 = a.expressão2);


Exemplo

Pode consultar todos os empregados que ganham acima da média de um departamento.

  • A subconsulta interna iria calcular o salário médio para cada departamento.
  • A consulta externa seleciona os funcionários cujo salário individual é superior à média do departamento.

É importante frisar que a subconsulta é executada para cada linha da consulta externa, o que pode ter um impacto no desempenho se não for bem otimizado.

As subconsultas correlacionadas podem ser utilizadas em várias cláusulas, como WHERE, FROM e SELECT, proporcionando uma grande flexibilidade na construção de consultas.

No entanto, é importante compreender bem a lógica por trás das subconsultas correlacionadas para evitar erros lógicos e garantir que os resultados sejam precisos e eficientes.