• Good article. What many people may not realize is that EXCEPT is a SET OPERATOR. The other SET OPERATORS available in MS SQL Server are UNION (ALL) and INTERSECT.

    The purpose for using a set operator is to combine the results of multiple select statements into a single result set.

    UNION returns all distinct rows from all statements.

    UNION ALL returns all rows, including duplicates from all statements.

    INTERSECT returns only rows that exist in all statements.

    As you pointed out, any time you use a set operator, the number and order of the columns must be the same in all queries and the data types must be compatible.