Ce type de JOIN n'est pas optimisable en HASH JOIN ou un MERGE JOIN .
Il peut être exprimé comme une concaténation de deux jeux de résultats :
SELECT *
FROM maintable m
JOIN othertable o
ON o.parentId = m.id
UNION
SELECT *
FROM maintable m
JOIN othertable o
ON o.id = m.parentId
, chacun d'eux étant une équijointure, cependant, SQL Server L'optimiseur de n'est pas assez intelligent pour le voir dans la requête que vous avez écrite (bien qu'ils soient logiquement équivalents).