Comment savoir si deux requêtes donnent le même résultat ?
Il suffit d’une simple équation ensembliste pour ce faire. Sachant que la requête 1 donne comme résultat l’ensemble A et que la requête 2 donne comme résultat l’ensemble B, prouver que ces deux requêtes donnent le même résultat, nécessite d’appliquer l’équation :
A – B U B – A = Ø
Autrement dit que l’union de la soustraction des éléments de B à l’ensemble A et de la soustraction des éléments de A à l’ensemble B ne donne aucun résultat (ensemble vide).
Ceci s’exprime en SQL de la sorte :
TA AS (SELECT ....), -- requête 1
TB AS (SELECT ....) -- requête 2
SELECT * FROM TA
EXCEPT
SELECT * FROM TB
UNION ALL
SELECT * FROM TB
EXCEPT
SELECT * FROM TA;
Ne donne aucun résultat… CQFD
PS : pour oracle utilisez MINUS au lieu de EXCEPT….
Expert S.G.B.D relationnelles et langage S.Q.L
Moste Valuable Professionnal Microsoft SQL Server
Société SQLspot : modélisation, conseil, formation,
optimisation, audit, tuning, administration SGBDR
Enseignant: CNAM PACA, ISEN Toulon, CESI Aix en Prov.
L’entreprise SQL Spot
Le site web sur le SQL et les SGBDR