select o.objectId from objects o
where not exists (
select * from
object_category oc
join device_category dc on oc.categoryId = dc.deviceCat
where dc.deviceId = 1
and o.objectId = oc.objectId
)
Постановка вопроса несколько странная. По-моему РСУБД никогда не скажет, сколько строк она обработала до получения результата. Более того, «маршрут сканирования» и его порядок в разных условиях будет разным.
Вообще интересная мысль для задачки Just for fun.
Хотя на самом деле не совсем понятно, что в итоге нужно получить: просто отчет о недостающих полях (в предположении о совпадении имен таблиц) или комплексный анализ графов отношений (плюс поиск соответствий между таблицами двух БД).