Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Conditionnel JOIN différentes tables

Vous pouvez utiliser une jointure externe :

select *
  from USER u
  left outer join EMPLOYEE e ON u.user_id = e.user_id
  left outer join STUDENT s ON u.user_id = s.user_id
 where s.user_id is not null or e.user_id is not null

alternativement (si vous n'êtes pas intéressé par les données de la table EMPLOYEE ou STUDENT)

select *
  from USER u
 where exists (select 1 from EMPLOYEE e where e.user_id = u.user_id)
    or exists (select 1 from STUDENT s  where s.user_id = u.user_id)