• You can join anything on anything through a TSQL statement. No requirements at all. You might get some... interesting... results, but there are no strict requirements.

    However, if you're talking about setting up RI, then you have to define the parent/child relationship off either a primary key or a unique constraint. No choices there.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning