Di Oracle, dengan asumsi (USER, HOBBY)
unik, Anda bisa menggunakan GROUP BY
permintaan:
SELECT user
FROM user_hobby
WHERE hobby IN ('piano', 'sport')
GROUP BY user
HAVING COUNT(*) = 2
Ini akan membuat Oracle melakukan paling banyak satu lintasan pada data sedangkan INTERSECT akan memperlakukan setiap kueri secara terpisah dan oleh karena itu memerlukan dua lintasan.