|
Tutoriais » SQL » Subtração » Definindo: Este comando gera uma tabela com as tuplas que estão na primeira tabela e que NÃO estão na segunda tabela (que devem ser União Compatíveis). Este seria o comando padrao ANSI/92
SELECT * FROM depto01 MINUS (SELECT * FROM depto02);
O operador MINUS foi o primeiro apresentado desde a primeira versão do Padrão SQL. Depois o ANSI introduziu um outro operador: EXCEPTEsta operação é executada no PostgreSQL dessa forma:
SELECT * FROM acoes_projetos EXCEPT (SELECT * FROM acoes_110120_pro);
O MySQL (até a 5.0) NÃO implementa o operador MINUS. Podemos escrever assim:
SELECT * FROM depto01 WHERE depto01.id_depto NOT IN (SELECT id_depto FROM depto02);
ou ainda
SELECT * FROM depto01 WHERE CONCAT(id_depto,
tx_nome_depto,
id_funcionario_gerente,
id_depto_superior,
tx_localizacao,
qt_area_total,
dt_criacao_depto,
dt_cadastro)
NOT IN
(SELECT CONCAT(id_depto,
tx_nome_depto,
id_funcionario_gerente,
id_depto_superior,
tx_localizacao,
qt_area_total,
dt_criacao_depto,
dt_cadastro) FROM depto02);
|