Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

JOIN condicional em tabelas diferentes


Você pode usar uma junção externa:
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

alternativamente (se você não estiver interessado nos dados da tabela 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)