Existe uma maneira de obter a igualdade matemática de duas instruções SQL?
Eu tenho duas instruções SQL:
- SQL_STATEMENT_1
- SQL_STATEMENT_2
Executar as duas instruções nos dados e comparar a saída não ajuda em nada.
O conjunto de matemática por trás das instruções precisa ser avaliado, como um solucionador de equações.
Fora do escopo da minha pergunta estão coisas como:
- comparações que não sejam igualdade (maior que, menor que, LIKE, ...)
- procedimentos armazenados ou gatilhos
- Expressões de tabela comum (WITH)
No escopo:
- Subseleciona: WHERE other_id IN (SELECT id FROM other WHERE ...)
- JUNTAS
select * from foo where id = 4
certamente vai ter o mesmo plano de execução comoselect * from foo where id = 2
select * from foo where id = 4
e select * from foo where id = 2
ter dois planos de execução diferentes se 1) as estatísticas do índice não estiverem atualizadas e 2) mesmo que as estatísticas do índice estejam atualizadas, a distribuição principal do id é desigual (o ID fornecido não é uma chave exclusiva).