Introdução

Uma subquery é uma consulta SQL aninhada dentro de outra. Assim como uma função pode chamar outra função, um SELECT pode conter outro SELECT — e o resultado do interno é usado pelo externo para filtrar, calcular ou compor o resultado final.

Subqueries aparecem em três lugares possíveis: no SELECT, no FROM, ou no WHERE/HAVING. O comportamento muda dependendo do tipo de resultado que a subquery retorna — e é aí que a classificação em Scalar, Column, Row e Table faz sentido.

Para os exemplos, usaremos:

clientes: id, nome, cidade