Podría estar usando una unión cruzada y no en table_collection
select user.id, user.name, data.data_id, data.data
from user
cross join data
where ( user.user_id, data.data_id) not in (
select user_id, data_id
from table_collection
)
Podría estar usando una unión cruzada y no en table_collection
select user.id, user.name, data.data_id, data.data
from user
cross join data
where ( user.user_id, data.data_id) not in (
select user_id, data_id
from table_collection
)