• As noted, use NOT EXISTS.  Also, uniquely cluster the NoEmail table on the EmailAddress.


    ...
    CREATE TABLE #tblNoEmail
    (
    EmailAddress varchar(100) PRIMARY KEY CLUSTERED
    )
    ...
    SELECT *
    FROM #tblContacts C
    INNER JOIN #tblEmails E ON C.ContactID = E.ContactID
    WHERE NOT EXISTS (
        SELECT 1
        FROM #tblNoEmail NE
        WHERE E.EmailAddress = NE.EmailAddress
    )

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.