single
Usando Subconsultas Internas na Seção FROM
Deslize para mostrar o menu
Uma subconsulta interna cria uma tabela com a qual você pode realizar operações na consulta externa.
A partir disso, é possível concluir que também é possível utilizar 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, permitindo trabalhar e coletar informações a partir dela.
Observe que, para tal tabela, é essencial fornecer um alias.
Quando isso pode ser útil?
Essa consulta é altamente legível; às vezes, pode substituir uma cláusula WHERE.
Além disso, caso seja 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, use o alias manager_departments para esta 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().
Esta tarefa também poderia ser realizada utilizando 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_budgetpara 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_departmentspara a 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