Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Bedingter JOIN verschiedener Tabellen

Sie könnten einen äußeren Join verwenden:

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

alternativ (wenn Sie nicht an den Daten aus der Tabelle MITARBEITER oder STUDENT interessiert sind)

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)