Na linguagem SQL, considerando duas tabelas A e B, para se o . . .

Exercício 6 de 10

Ano: 2019 Banca: CS-UFG Órgão: Prefeitura de Goianira Disciplina/Assunto: Banco de Dados / SQL

Na linguagem SQL, considerando duas tabelas A e B, para se obter o que está na Tabela A e não está na Tabela B, assim como o que está na Tabela B e não está na Tabela A é necessário usar o comando

Resolução 6 de 10


Parte 1 da resolução

Para exemplificar a resolução deste exercício, vamos supor que a tabela A e B possuam somente uma coluna chamada NOME_BANCO, que armazena nomes de bancos de dados, conforme ilustrado abaixo:

  • TabelaA
    • NOME_BANCO
      PostgresSQL
      MySQL
      Oracle
  • TabelaB
    • NOME_BANCO
      Oracle
      SQLServer
      MongoDB
Parte 2 da resolução

A Letra A está correta pois ao utilizar o instrução SQL Outer Excluding Join, o resultado serão todos os registros que estão na tabela B, mas que não estejam na tabela A, e todos os registros que estão na tabela A, mas que não estejam na tabela B.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      FULL OUTER JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
      WHERE A.NOME_BANCO is null or B.NOME_BANCO is null
  • Resultado
    • NOME_BANCO NOME_BANCO
      PostgresSQL
      MySQL
      SQLServer
      MongoDB

Observação: O Outer Join(não confundir com Outer Excluding Join), tem como resultado todos os registros que estão na tabela A e todos os registros da tabela B.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      FULL OUTER JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
  • Resultado
    • NOME_BANCO NOME_BANCO
      PostgresSQL
      MySQL
      Oracle Oracle
      SQLServer
      MongoDB
Parte 3 da resolução

A Letra B está errada pois o comando SQL Right Excluding Join, terá como resultado todos os registros que estão na tabela B e que não estejam na tabela A.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      RIGHT JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
      WHERE a.NOME_BANCO is null
  • Resultado
    • NOME_BANCO NOME_BANCO
      SQLServer
      MongoDB

Observação: O Right Join(não confundir com Right Excluding Join), tem como resultado os registros que estão na tabela B e os registros da tabela A que são comuns à tabela B.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      RIGHT JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
  • Resultado
    • NOME_BANCO NOME_BANCO
      Oracle Oracle
      SQLServer
      MongoDB
Parte 4 da resolução

A Letra C está errada pois o SQL Left Excluding Join retorna como resultado todos os registros que estão na tabela A e que não estejam na tabela B.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      LEFT JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
      WHERE B.NOME_BANCO is null
  • Resultado
    • NOME_BANCO NOME_BANCO
      PostgresSQL
      MySQL

Observação: O Left Join(não confundir com Left Excluding Join), tem como resultado todos os registros que estão na tabela A e os registros da tabela B que são comuns à tabela A.

  • SQL
    • SELECT A.NOME_BANCO, B.NOME_BANCO
      FROM TabelaA as A
      LEFT JOIN TabelaB as B on A.NOME_BANCO = B.NOME_BANCO
  • Resultado
    • NOME_BANCO NOME_BANCO
      PostgresSQL
      MySQL
      Oracle Oracle
Parte 5 da resolução

A Letra D está errada pois não foi encontrado nenhuma referência ao comando Middle Excluding Join.

⚡️ Veja também as perguntas respondidas abaixo.

  • O que é ? e para que serve a linguagem SQL ?

    Resposta

  • O que é uma SQL ANSI ?

    Resposta

  • O que é uma query e como é escrita ?

    Resposta


exerciciosresolvidos.com.br

Acreditamos na educação gratuita e de qualidade. Nos ajude com sua opinião, sugestão ou crítica : exerciciosresolvidosbr@gmail.com

Copyright © 2021. Built with ❤ Love