Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Consultas Aninhadas | Subconsultas Aninhadas
SQL Intermediário

bookConsultas Aninhadas

A administração escolar está satisfeita com nossas conquistas recentes e está ansiosa para avançar.

Enquanto eles iniciam o recesso de verão, temos a oportunidade de explorar novos métodos e aprimorar nossas habilidades em SQL.

Nosso foco será em consultas aninhadas, um conceito fundamental em SQL.

Vamos analisar um exemplo do banco de dados da nossa empresa. À medida que a empresa cresce, adicionamos uma nova tabela department. Isso altera o funcionamento do nosso banco de dados.

Vamos conferir a estrutura da nova tabela para entender seu papel em nosso banco de dados:

A nova tabela contém departamentos, seus tipos e orçamentos. E na tabela employee, como você deve se lembrar, há informações sobre o departamento ao qual cada funcionário pertence.

Vamos considerar um exemplo em que usamos consultas aninhadas para recuperar os funcionários que trabalham em departamentos com orçamentos de $500.000 ou menos:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Utiliza-se uma cláusula WHERE para especificar que o nome do departamento deve estar na tabela recuperada pela consulta interna.

Vamos dividir essa consulta em duas separadas para entender seu funcionamento. Primeiro, obtenha os nomes dos departamentos com orçamentos de $500.000 ou menos (nossa consulta interna):

123
SELECT name FROM department WHERE budget <= 500000
copy

Agora, considerando o resultado obtido, escreva a segunda consulta para recuperar informações sobre os funcionários desses departamentos:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

O resultado desta consulta será o mesmo que o da primeira consulta.

Veja uma análise passo a passo:

  1. A consulta interna obtém os names dos departamentos necessários;

  2. A cláusula WHERE verifica se esses departamentos estão na tabela retornada pela consulta interna;

  3. O resultado desejado é obtido.

Veja a sintaxe básica para uma consulta interna:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Ao utilizar consultas aninhadas, considere os seguintes pontos importantes:

  1. Resultado Único na Subconsulta: garantir que a consulta aninhada retorne apenas uma coluna. Se utilizada em uma comparação, deve idealmente retornar um único valor. Isso é fundamental para operadores como =, >, <, >=, <=, <>;

  2. Tipos de Dados: o tipo de dado da coluna retornada deve corresponder ao da coluna com a qual está sendo comparada, para evitar erros;

  3. Otimização: consultas aninhadas podem ser lentas, especialmente se executadas para cada linha da consulta principal;

  4. Uso do Operador IN: consultas aninhadas frequentemente utilizam o operador IN para verificar valores em um subconjunto. Também é possível utilizar operadores de comparação para condições mais complexas.

1. O que é uma consulta aninhada em SQL?

2. Qual operador SQL é comumente utilizado com consultas aninhadas para verificar valores em um subconjunto?

3. Por que é importante que o tipo de dado da coluna retornada por uma consulta aninhada corresponda à coluna à qual ela é comparada?

question mark

O que é uma consulta aninhada em SQL?

Select the correct answer

question mark

Qual operador SQL é comumente utilizado com consultas aninhadas para verificar valores em um subconjunto?

Select the correct answer

question mark

Por que é importante que o tipo de dado da coluna retornada por uma consulta aninhada corresponda à coluna à qual ela é comparada?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 4

bookConsultas Aninhadas

Deslize para mostrar o menu

A administração escolar está satisfeita com nossas conquistas recentes e está ansiosa para avançar.

Enquanto eles iniciam o recesso de verão, temos a oportunidade de explorar novos métodos e aprimorar nossas habilidades em SQL.

Nosso foco será em consultas aninhadas, um conceito fundamental em SQL.

Vamos analisar um exemplo do banco de dados da nossa empresa. À medida que a empresa cresce, adicionamos uma nova tabela department. Isso altera o funcionamento do nosso banco de dados.

Vamos conferir a estrutura da nova tabela para entender seu papel em nosso banco de dados:

A nova tabela contém departamentos, seus tipos e orçamentos. E na tabela employee, como você deve se lembrar, há informações sobre o departamento ao qual cada funcionário pertence.

Vamos considerar um exemplo em que usamos consultas aninhadas para recuperar os funcionários que trabalham em departamentos com orçamentos de $500.000 ou menos:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Utiliza-se uma cláusula WHERE para especificar que o nome do departamento deve estar na tabela recuperada pela consulta interna.

Vamos dividir essa consulta em duas separadas para entender seu funcionamento. Primeiro, obtenha os nomes dos departamentos com orçamentos de $500.000 ou menos (nossa consulta interna):

123
SELECT name FROM department WHERE budget <= 500000
copy

Agora, considerando o resultado obtido, escreva a segunda consulta para recuperar informações sobre os funcionários desses departamentos:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

O resultado desta consulta será o mesmo que o da primeira consulta.

Veja uma análise passo a passo:

  1. A consulta interna obtém os names dos departamentos necessários;

  2. A cláusula WHERE verifica se esses departamentos estão na tabela retornada pela consulta interna;

  3. O resultado desejado é obtido.

Veja a sintaxe básica para uma consulta interna:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Ao utilizar consultas aninhadas, considere os seguintes pontos importantes:

  1. Resultado Único na Subconsulta: garantir que a consulta aninhada retorne apenas uma coluna. Se utilizada em uma comparação, deve idealmente retornar um único valor. Isso é fundamental para operadores como =, >, <, >=, <=, <>;

  2. Tipos de Dados: o tipo de dado da coluna retornada deve corresponder ao da coluna com a qual está sendo comparada, para evitar erros;

  3. Otimização: consultas aninhadas podem ser lentas, especialmente se executadas para cada linha da consulta principal;

  4. Uso do Operador IN: consultas aninhadas frequentemente utilizam o operador IN para verificar valores em um subconjunto. Também é possível utilizar operadores de comparação para condições mais complexas.

1. O que é uma consulta aninhada em SQL?

2. Qual operador SQL é comumente utilizado com consultas aninhadas para verificar valores em um subconjunto?

3. Por que é importante que o tipo de dado da coluna retornada por uma consulta aninhada corresponda à coluna à qual ela é comparada?

question mark

O que é uma consulta aninhada em SQL?

Select the correct answer

question mark

Qual operador SQL é comumente utilizado com consultas aninhadas para verificar valores em um subconjunto?

Select the correct answer

question mark

Por que é importante que o tipo de dado da coluna retornada por uma consulta aninhada corresponda à coluna à qual ela é comparada?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1
some-alt