V Oracle za předpokladu (USER, HOBBY)
je jedinečný, můžete použít GROUP BY
dotaz:
SELECT user
FROM user_hobby
WHERE hobby IN ('piano', 'sport')
GROUP BY user
HAVING COUNT(*) = 2
Díky tomu bude Oracle provádět maximálně jeden průchod dat, zatímco INTERSECT by zpracovával každý dotaz samostatně, a proto by potřeboval dva průchody.