• If you want to use an IN try this?

    WHERE RealTableColumn IN (SELECT TempTableColumn FROM TempTable)

    EXISTS can be fast too but not sure in this scenario.

    WHERE EXISTS (SELECT TempTableColumn FROM TempTable WHERE TempTableColumn = RealTableColumn)

    However a JOIN on an indexed TempTableField should be as fast as anything in my experience.

    I would normally use the IN option as it is clearer.