|
Tutoriais » SQL » União » Definindo: Este comando gera uma tabela com as tuplas comuns e não comuns entre duas tabelas (que devem ser União Compatíveis). Repare uma coisa SELECT * FROM depto01; -- 6 linhas SELECT * FROM depto02; -- 5 linhas Fazendo a UNIÃO:
SELECT * FROM depto01 UNION (SELECT * FROM depto02);
Deveriamos ter 11 linhas mas temos só 9. Para mostrar as 11 linhas
SELECT * FROM depto01 UNION ALL (SELECT * FROM depto02) ORDER BY `id_depto` ASC ;
Agora temos as 11 linhas. Observe a repetição. Podemos criar uma tabela no banco de dados com o comando create table, copiando a estrutura de uma tabela e as tuplas que são resultado de um comando SQL Por exemplo, fazemos uma seleção e depois criamos a tabela com o resultado, desta forma
CREATE TABLE uniao01 AS (SELECT * FROM depto01 UNION (SELECT * FROM depto02));
Estas tabelas ficam GRAVADAS no disco rígido e passam a constar no dicionário de dados da base.Podemos também criar uma tabela 'temporária' (fica em memória RAM somente enquanto se executa a sessão de conexão com o SGBD). Este 'tipo de tabela' é implementado em vários SGBDs. Criando uma tabela temporária e a seguir mostrando seu conteúdo
CREATE TEMPORARY TABLE uniao01 AS (SELECT * FROM depto01 UNION (SELECT * FROM depto02));
SELECT * FROM uniao01;
|