Условное СОЕДИНЕНИЕ с разными таблицами

Я хочу знать, есть ли у пользователя запись в какой-либо из двух связанных таблиц.

Таблицы

USER (user_id)
EMPLOYEE (id, user_id)
STUDENT (id, user_id)

Пользователь может иметь запись сотрудника и/или студента. Как я могу получить эту информацию в одном запросе? Я пробовал :

select * from [user] u
inner join employee e 
    on e.user_id = case when e.user_id is not NULL 
                        then u.user_id 
                        else null 
                   end
inner join student s 
    on s.user_id = case when s.user_id is not NULL 
                        then u.user_id 
                        else null 
                   end

, но он вернет только пользователей с записями в обеих таблицах.

Пример скрипта SQL

20
задан juergen d 15 December 2014 в 12:59
поделиться