Bancos de Dados - Aula 15 - Linguagem de consulta – SQL Parte III

Bancos de Dados - Aula 15 - Linguagem de consulta – SQL Parte III

Aula 3: Subconsultas em SQL

Introdução às Subconsultas

  • A aula aborda a linguagem SQL no contexto do curso de Engenharia da Computação, focando na utilização de subconsultas.
  • O conceito de subconsulta é introduzido como uma técnica para recuperar informações que dependem da execução de outra consulta.

Estrutura das Subconsultas

  • As subconsultas são blocos de código SQL que podem ser inseridos na cláusula WHERE de uma consulta principal.
  • É necessário conectar as duas consultas para que a consulta externa utilize os resultados da interna, permitindo a recuperação eficaz das informações.

Exemplo Prático: Funcionários com Dependentes

  • O exemplo prático envolve encontrar funcionários com dois ou mais dependentes, utilizando tabelas específicas (funcionário e dependente).
  • A consulta interna conta o número de dependentes por funcionário, retornando um valor inteiro que será utilizado na consulta externa.

Comunicação entre Consultas

  • A comunicação entre as consultas é destacada; a variável utilizada na consulta interna pode referenciar atributos da tabela chamada na consulta externa.
  • Essa interação permite comparações entre dados provenientes de diferentes tabelas, essencial para o funcionamento correto das subconsultas.

Análise dos Resultados

  • Um teste prático é realizado usando IDs específicos para contar quantos dependentes cada funcionário possui.
  • Os resultados são analisados: apenas funcionários com contagem maior ou igual a 2 são incluídos na resposta final.

Conclusão sobre Salários e Departamentos

  • Uma nova consulta é apresentada, onde se busca listar funcionários com salários superiores aos do departamento 5.

Conexões entre Consultas em SQL

Estrutura de Consultas com Subconsultas

  • A consulta busca funcionários do departamento 5 e verifica se o salário é maior que todos os salários recuperados na subconsulta interna.
  • A palavra-chave "IN" é utilizada para verificar se um valor pertence a um conjunto, permitindo identificar funcionários com dependentes que têm o mesmo nome e sexo.

Uso de Tabelas e Renomeação

  • É necessário utilizar as tabelas funcionário e dependente para comparar nomes e sexos, utilizando renomeação para facilitar a referência.
  • Renomear as tabelas ajuda a diferenciar atributos com nomes iguais nas duas tabelas, como nome e sexo dos funcionários e dependentes.

Verificação de Dependentes

  • Para cada funcionário, verifica-se se o identificador aparece no resultado da subconsulta, comparando nome e sexo.
  • O teste da consulta revela que apenas Cláudia possui um dependente com o mesmo nome e sexo.

Utilização da Cláusula EXISTS

  • A cláusula "EXISTS" executa a consulta externa somente se a subconsulta retornar uma ou mais linhas.
  • Se a subconsulta não retornar resultados (vazia), "EXISTS" será falso, excluindo esses funcionários da resposta.

Consulta Negada com EXISTS

  • Uma nova consulta utiliza "EXISTS" negado para recuperar nomes de empregados sem dependentes associados.
  • A condição é que não exista nenhum dependente associado ao funcionário; caso contrário, ele não será incluído na resposta.

Resultados das Consultas

  • Funcionários são verificados quanto à presença de dependentes; Cláudia tem três dependentes enquanto Caio não possui nenhum.

Alteração de Salários e Exclusão de Funcionários

Lógica da Subconsulta para Alteração de Salário

  • A consulta altera o salário dos funcionários que pertencem a um departamento específico, onde o gerente do departamento tem o ID 163.
  • O foco está em garantir que a alteração do salário esteja dentro do conjunto retornado pela subconsulta, que filtra os departamentos com base no gerente.

Exclusão de Funcionários Baseada em Subconsulta

  • A próxima consulta se concentra na exclusão de funcionários, utilizando uma lógica semelhante à anterior.
  • Neste caso, a exclusão é feita para funcionários cujo número pertence ao conjunto retornado pela subconsulta, especificamente aqueles que trabalham para um departamento gerenciado por um funcionário com ID 163.

Conclusão da Aula sobre Subconsultas

  • A aula foi finalizada com um convite aos alunos para resolverem exercícios práticos relacionados ao uso de subconsultas.
Video description

Engenharia de Computação – Bancos de Dados Disciplina EID - 002 - Bancos de Dados Professora responsável: Sarajane Marques Peres Playlist da disciplina: https://www.youtube.com/playlist?list=PLxI8Can9yAHeHQr2McJ01e-ANyh3K0Lfq

Bancos de Dados - Aula 15 - Linguagem de consulta – SQL Parte III | YouTube Video Summary | Video Highlight