• Yes, Except seems like the hardest of the join operators for the query engine. Wouldn't the two-way compare

    SELECT * FROM

    (

    SELECT * FROM Staging.dbo.WIDGET

    EXCEPT

    SELECT * FROM Production.dbo.WIDGET

    ) LEFT_DIFFS

    UNION

    SELECT * FROM

    (

    SELECT * FROM Production.dbo.WIDGET

    EXCEPT

    SELECT * FROM Staging.dbo.WIDGET

    ) RIGHT_DIFFS

    Work better as

    SELECT * FROM

    (

    SELECT * FROM Staging.dbo.WIDGET

    UNION ALL

    SELECT * FROM Production.dbo.WIDGET

    ) BOTH_SETS

    EXCEPT

    SELECT * FROM

    (

    SELECT * FROM Production.dbo.WIDGET

    INTERSECTION

    SELECT * FROM Staging.dbo.WIDGET

    ) INTSCT