Diferença entre UNION e UNION ALL. Operadores INTERSECT e MINUS.

julho 16, 2013 em Mysql, SQL por Sândler

Diferença entre UNION e UNION ALL. Operadores INTERSECT e MINUS.

Melhor que explicar, é mostrar um exemplo de uma vez!

Listando conteúdo do campo na tabela_1

SELECT campo_x FROM tabela_1;

campo_x
———-
01
02
03
04

Listando conteúdo do campo na tabela_2
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03

Utilizando UNION
SELECT campo_x FROM tabela_1
UNION
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03
04

Utilizando UNION ALL

SELECT campo_x FROM tabela_1
UNION ALL
SELECT campo_x FROM tabela_2;

campo_x
———-
01
01
02
02
03
03
04

Utilizando INTERSECT
SELECT campo_x FROM tabela_1
INTERSECT
SELECT campo_x FROM tabela_2;

campo_x
———-
01
02
03

Utilizando MINUS
SELECT campo_x FROM tabela_1
MINUS
SELECT campo_x FROM tabela_2;
campo_x
———-
04

Referências:http://www.stanford.edu/dept/itss/docs/oracle/9i/server.920/a96540/queries5a.htm#2054266
http://www.oreilly.com/catalog/mastorasql/chapter/ch07.html