0% acharam este documento útil (0 voto)
3 visualizações2 páginas

As Subqueries

As subqueries em SQL são consultas aninhadas que podem ser classificadas por retorno de dados, relação com a consulta principal e localização no código. Existem três tipos principais de retorno: escalar, de linha e de tabela, além de subqueries independentes e correlacionadas. A localização da subquery no código também influencia seu propósito, como filtrar resultados ou criar colunas calculadas.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações2 páginas

As Subqueries

As subqueries em SQL são consultas aninhadas que podem ser classificadas por retorno de dados, relação com a consulta principal e localização no código. Existem três tipos principais de retorno: escalar, de linha e de tabela, além de subqueries independentes e correlacionadas. A localização da subquery no código também influencia seu propósito, como filtrar resultados ou criar colunas calculadas.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

As subqueries (ou consultas internas) são ferramentas poderosas no SQL que

permitem aninhar uma consulta dentro de outra. Elas são geralmente divididas
em categorias baseadas em onde são usadas ou no tipo de dado que
retornam.

Aqui está o detalhamento dos principais tipos:

1. Pelo Retorno de Dados

Essa classificação foca no "formato" do resultado que a subquery entrega para


a consulta principal.

 Subquery Escalar: Retorna um único valor (uma linha e uma coluna). É


muito usada em cláusulas SELECT ou em comparações diretas no
WHERE.
o Exemplo: Buscar produtos com preço acima da média.
 Subquery de Linha: Retorna uma única linha, mas com múltiplas
colunas. Permite comparar vários valores de uma vez.
 Subquery de Tabela (ou de Múltiplas Linhas): Retorna uma ou mais
colunas e várias linhas. Geralmente usada com os operadores IN, ANY
ou ALL.

2. Pela Relação com a Consulta Principal

Aqui o diferencial é se a subquery consegue "viver sozinha" ou se depende da


consulta externa.

 Subquery Independente (Self-contained): É executada uma única vez.


O banco de dados resolve a subquery primeiro e passa o resultado para
a query principal.
 Subquery Correlacionada: É uma subquery que faz referência a uma
coluna da consulta principal. Ela é executada repetidamente, uma vez
para cada linha processada pela consulta externa.
o Nota: Embora poderosas, elas tendem a ser mais lentas em
grandes volumes de dados.

3. Pela Localização no Código

Dependendo de onde você a "pendura" no seu comando SQL, ela assume


papéis diferentes:

Localização Nome Comum Propósito


Subquery de Cria uma coluna calculada dinamicamente
SELECT
Projeção para cada linha.
Inline View / Trata o resultado da subquery como se
FROM
Tabela Derivada fosse uma tabela temporária.
Localização Nome Comum Propósito
WHERE / Filtra os resultados da query principal com
Filtro de Subquery
HAVING base nos dados da subquery.

Bônus: Operadores Comuns

Ao trabalhar com subqueries de múltiplas linhas, você encontrará


frequentemente estes operadores:

 EXISTS / NOT EXISTS: Verifica se a subquery retorna qualquer linha (muito


usado em subqueries correlacionadas).
 IN / NOT IN: Verifica se um valor está dentro da lista retornada.
 ANY / ALL: Compara um valor individual com cada valor da lista (ex: >
ANY significa "maior que o menor valor da lista").

Você está tentando otimizar uma consulta específica ou apenas explorando a


teoria para algum projeto?

Você também pode gostar