Если вам нужно ровно 2 из 3 таблиц, этот запрос не будет работать без некоторой дополнительной логики ... но если вы ищете случай, когда отсутствует одно из 3 отношений, он будет работать. Тем не менее, это должно привести вас к делу 2 из 3.
select t1.event_id, t1.event_name from t1 left outer join t2 on t1.event_id = t2.eid where t2.eid is null
union
select t1.event_id, t1.event_name from t1 left outer join t3 on t1.event_id = t3.eid where t3.eid is null
union
select t1.event_id, t1.event_name from t1 left outer join t4 on t1.event_id = t4.eid where t4.eid is null
По сути, левое внешнее объединение, сравнивающее идентификатор подтаблицы с нулем, эффективно выдает вам строки, отсутствующие в каждой таблице, и затем вы можете объединять результаты вместе. Если вы хотите убедиться, что данные отсутствуют только в одной таблице, вам необходимо выполнить внутреннее соединение с двумя другими таблицами в каждом подзапросе, чтобы убедиться, что они работают. Что-то вроде:
select t1.event_id, t1.event_name from t1 left outer join t2 on t1.event_id = t2.eid
inner join t3 on t1.event_id = t3.eid inner join t4 on t1.event_id = t4.eid
where t2.eid is null
union
select t1.event_id, t1.event_name from t1 left outer join t3 on t1.event_id = t3.eid
inner join t2 on t1.event_id = t2.eid inner join t4 on t1.event_id = t4.eid
where t3.eid is null
union
select t1.event_id, t1.event_name from t1 left outer join t4 on t1.event_id = t4.eid
inner join t3 on t1.event_id = t3.eid inner join t2 on t1.event_id = t2.eid
where t4.eid is null