Por que em todas as consulta que estão no exemplo que o professor utiliza para explicar os comandos UNION e UNION ALL ele utilizou no select o comando DISTINCT?
Por que em todas as consulta que estão no exemplo que o professor utiliza para explicar os comandos UNION e UNION ALL ele utilizou no select o comando DISTINCT?
Olá Flaviana, tudo bem? Isso é porque nas tabelas existem dados repetidos, como por exemplo, quando ele faz o UNION entre BAIRRO da tabela clientes e BAIRRO da tabela de vendedores, note que se você executar um consulta geral:
SELECT * FROM [TABELA DE CLIENTES].BAIRRO;
Você vai ver existem bairro que se repetem, então didaticamente é mais simples explicar o que está acontecendo usando o DISTINCT para que os dados não sejam repetidos.
Espero ter esclarecido sua dúvida!
Olá Jonilson, obrigada pelos esclarecimentos.
Você disse que didaticamente fica mais simples explicar usando o DISTINCT, mas o UNION tem como principal função a mesma finalidade do DISTINCT não é? Ou seja se eu aplicar o UNION (somente ele) pra unir as tabelas de venderedores e clientes pelo campo bairro, não teremos no resultado da consulta bairros repetidos. Certo? Veja a cosulta que o professor usou como exemplo:
SELECT DISTINCT [TABELA DE CLIENTES].BAIRRO FROM [TABELA DE CLIENTES] UNION SELECT DISTINCT [TABELA DE VENDEDORES].BAIRRO FROM [TABELA DE VENDEDORES]
O que quero dizer é que se usarmos a consulta abaixo teremos o mesmo resultado sem usar o distinct. SELECT [TABELA DE CLIENTES].BAIRRO FROM [TABELA DE CLIENTES] UNION SELECT [TABELA DE VENDEDORES].BAIRRO FROM [TABELA DE VENDEDORES]
Esta correto a minha afirmação? De que não precisamos usar o DISTINCT junto com UNION para que o resultado não retorno dados repetidos?
É verdade Flaviana, você está certa, implicitamente o UNION e o UNION ALL realizam o DISTINCT, porém como eu falei, o instrutor colocou o DISTINCT para mostrar esse processo é feito, acho que foi só pra deixar mais claro que isso acontece. Mais sim você está certa.
Muito obrigada Jonilson, :)