single
Desafio: Usando Subconsultas Internas na Seção FROM
Deslize para mostrar o menu
Uma subconsulta interna cria uma tabela com a qual você realiza operações na consulta externa.
A partir disso, é possível concluir que também é possível usar uma subconsulta interna dentro da seção FROM para selecionar algo dessa tabela.
Considere um exemplo em que é necessário trabalhar com employees cujo salary está acima de um determinado valor. Mas, em vez de uma cláusula WHERE, deve-se usar uma subconsulta interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Uma nova tabela foi criada usando uma subconsulta interna com a qual é possível trabalhar e obter informações.
Observe que, para esse tipo de tabela, é essencial fornecer um alias.
Quando isso pode ser útil?
Essa consulta é altamente legível; em alguns casos, pode substituir uma cláusula WHERE.
Além disso, se for necessário trabalhar não com a tabela inteira, mas apenas com uma parte filtrada, uma subconsulta interna na seção FROM pode ser extremamente útil.
Deslize para começar a programar
Sua tarefa é recuperar o orçamento médio (coluna budget) de todos os departamentos gerenciais da tabela department. Utilize uma subconsulta interna na seção FROM para filtrar apenas os departamentos do tipo gerencial. Além disso, utilize o alias manager_departments para essa tabela, pois a tarefa será verificada dessa forma.
A resposta deve conter apenas uma coluna, average_budget. Este é um alias para a função agregadora AVG().
Essa tarefa também poderia ser feita usando uma cláusula WHERE, mas aqui utilizamos uma consulta aninhada para praticar essa sintaxe, que será útil para resolver problemas mais complexos no futuro.
Instruções Resumidas
- Recupere o valor médio da coluna
budget. - Atribua o alias
average_budgeta essa coluna. - Na cláusula
FROM, escreva uma consulta aninhada. - Na consulta aninhada, selecione todas as colunas da tabela
department. - Na consulta aninhada, utilize a cláusula
WHEREcom a condiçãotype = 'manager'. - Atribua o alias
manager_departmentsà consulta aninhada.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo