Ainda não entendi muito bem quando e o porquê uma subquery é necessária.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Ainda não entendi muito bem quando e o porquê uma subquery é necessária.
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 ^^