Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Subquery

Ainda não entendi muito bem quando e o porquê uma subquery é necessária.

2 respostas
solução!

Oi Engenharia, acabei de entrar e ainda estou me familiarizando com a plataforma, inclusive não estou conseguindo acessar nenhum curso, mas vamos à sua questão.

Suponha que você tem uma tabela de vendas com duas colunas: nome do vendedor, venda de janeiro e venda de fevereiro. Imagine algumas buscas nessa tabela, segundo a necessidade do seu/sua superior...

Pois bem, agora imagine que ele(a) lhe pediu para listar todos os vendedores que tiveram vendas maiores do que a média de todas as vendas realizadas no mês de janeiro. Como você faria? É aí que entra uma das necessidades de usar subquery. Como você já deve ter visto esse recuro consiste em uma query dentro de outra, normalmente utilizada em conjunto com a cláusula where.

Uma forma de utilizar bem esse recurso é analisar passo-a-passo o que você precisa, literalmente. Por exemplo: precisamos da média de janeiro para verificar quem vendeu mais do que a média de todas as vendas desse mês, então uma alternativa é escrever primeiro a query que irá retornar essa média (a média das vendas de janeiro):

select avg(jan) from tabela;

Depois você pode fazer a projeção que precisa adicionando no filtro essa query:

/* query final */
select nome, jan from tabela
where jan > (select avg(jan) from tabela);  

E assim você terá o que seu(a) chefe solicitou. Espero que tenha entendido e de alguma forma tenha ajudado a compreender seu uso. Essa é apenas uma das necessidades em que subqueries podem ser usadas.

Obrigada. Consegui entender um pouco melhor ^^