1
resposta

[Dúvida] Ele não deu o exemplo utilizando subtabela

Apesar de ter descrito o código abaixo, ele não exemplificou na aula. Ou se exemplificou, não compreendi. Tentei rodar substituindo por campos que temos no banco de dados porém não roda.

SELECT SUBTABELA.* FROM 
(
    SELECT CLIENTE, CIDADE, ESTADO
    FROM CLIENTE 
    UNION
    SELECT FORNECEDOR, CIDADE, ESTADO 
    FROM FORNECEDOR

)
SUBTABELA -- é um alias
1 resposta

Olá, Giseli, tudo bem?

O instrutor utilizou esse exemplo como uma demonstração genérica, sem estar vinculado às tabelas específicas do curso. Ele quis mostrar que a subquery não se limita a uma tabela, mas pode ser também outra consulta. A ideia é criar uma "subtabela" temporária utilizando uma subconsulta dentro do FROM. Essa subtabela é criada a partir da união de duas consultas: uma que seleciona dados da tabela CLIENTE e outra da tabela FORNECEDOR. A palavra UNION é usada para combinar os resultados de ambas as consultas, garantindo que apenas linhas distintas sejam retornadas.

Abaixo deixo uma explicação detalhada:

  • Subconsulta: Dentro dos parênteses, você está criando uma consulta que une os resultados de CLIENTE e FORNECEDOR. Ambos devem ter as mesmas colunas para que o UNION funcione corretamente.

  • Alias: A subconsulta é tratada como uma tabela temporária e precisa de um alias, neste caso SUBTABELA, para que possamos referenciá-la na consulta principal.

  • Seleção de Dados: A consulta externa (SELECT SUBTABELA.*) está selecionando todos os dados dessa subtabela.

Espero ter ajudado.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado