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 dentro da seção FROM
para selecionar algo dessa tabela.
Vamos considerar 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.
Nota
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, 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()
.
Observação
Esta tarefa também poderia ser realizada usando uma cláusula
WHERE
, mas utilizamos uma consulta aninhada aqui 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_budget
a 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
WHERE
com 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 why we need to use an alias for the inner subquery?
When should I use an inner subquery instead of a WHERE clause?
Can you give more examples of using inner subqueries in SQL?
Awesome!
Completion rate improved to 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 dentro da seção FROM
para selecionar algo dessa tabela.
Vamos considerar 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.
Nota
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, 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()
.
Observação
Esta tarefa também poderia ser realizada usando uma cláusula
WHERE
, mas utilizamos uma consulta aninhada aqui 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_budget
a 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
WHERE
com a condiçãotype = 'manager'
. - Atribua o alias
manager_departments
à consulta aninhada.
Solução
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 4single