Eliminar linhas iguais no resultado de uma consulta não equivale a eliminar documentos duplicados. Quando a consulta omite a origem e o identificador, dois fatos distintos podem se tornar indistinguíveis para o operador UNION.
O exemplo fictício combina documentos de duas entidades, A e B. A identidade foi confirmada pela combinação entre entidade e número local. Não há sobreposição entre os quatro fatos, cancelamentos, tributos ou conversão monetária. Todos têm a mesma data e valores inteiros em reais. Repetir o número local em entidades diferentes não significa repetir o documento.
Quatro fatos, três pares de data e valor
A entidade A apresenta documentos 001 de R$ 100 e 002 de R$ 200. A entidade B apresenta documentos 001 de R$ 100 e 002 de R$ 300. Os dois documentos de R$ 100 são fatos independentes.
| Consulta sobre as duas origens | Linhas | Total em reais |
|---|---|---|
| UNION apenas de data e valor | 3 | 600 |
| UNION ALL apenas de data e valor | 4 | 700 |
| UNION com entidade, número, data e valor | 4 | 700 |
Na primeira consulta, as linhas de R$ 100 têm exatamente as mesmas colunas projetadas. UNION conserva uma delas. A redução de R$ 100 decorre da consulta, não de uma conclusão documental de duplicidade. Acrescentar a identidade completa permite distinguir os registros mesmo usando UNION.
Conservar tudo também exige controle
UNION ALL mantém as quatro linhas neste conjunto cuja independência foi confirmada. Isso não o torna um procedimento universal para exportações sobrepostas. Se o mesmo documento da mesma entidade aparecer novamente, sua identidade precisa ser examinada antes de fechar a base.
O verificador exige unicidade da chave composta no material importado e testa a inclusão deliberada de uma cópia do primeiro documento. Essa cópia é bloqueada. A conferência não usa o valor monetário como chave, nem aplica um desconto genérico ao total para compensar repetições.
O pacote reúne as duas bases, três consultas executáveis e resultados esperados. SQLite acompanha a biblioteca padrão do Python utilizada no teste. A documentação oficial de consultas compostas descreve a diferença entre UNION e UNION ALL. Na assistência técnica contábil, a memória deve registrar quais campos constituem a identidade do documento e quais foram removidos da projeção. Este laboratório demonstra a perda causada pela projeção reduzida; não substitui a validação da origem das entidades ou dos documentos.
