Usando Subconsultas Internas na Seção FROM
Uma subconsulta interna cria uma tabela com a qual realizamos operações na consulta externa.
A partir disso, podemos concluir que também é possível utilizar uma subconsulta interna na seção FROM para selecionar dados dessa tabela.
Vamos analisar um exemplo em que precisamos trabalhar com employees cujo salary está acima de um determinado valor. Mas, em vez de uma cláusula WHERE, utilizaremos uma subconsulta interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Criamos uma nova tabela usando uma subconsulta interna com a qual podemos trabalhar e obter informações.
Observe que, para tal 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.
Swipe to start coding
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 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
Can you explain more scenarios where using an inner subquery in the FROM clause is beneficial?
What are the differences between using a WHERE clause and an inner subquery in the FROM section?
Can you show how to add more conditions or calculations to the inner subquery?
Incrível!
Completion taxa melhorada para 4
Usando Subconsultas Internas na Seção FROM
Deslize para mostrar o menu
Uma subconsulta interna cria uma tabela com a qual realizamos operações na consulta externa.
A partir disso, podemos concluir que também é possível utilizar uma subconsulta interna na seção FROM para selecionar dados dessa tabela.
Vamos analisar um exemplo em que precisamos trabalhar com employees cujo salary está acima de um determinado valor. Mas, em vez de uma cláusula WHERE, utilizaremos uma subconsulta interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Criamos uma nova tabela usando uma subconsulta interna com a qual podemos trabalhar e obter informações.
Observe que, para tal 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.
Swipe to start coding
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 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