sql >> Base de Datos >  >> RDS >> Oracle

SQL en vs intersección

En Oracle, asumiendo (USER, HOBBY) es único, podría usar un GROUP BY consulta:

SELECT user
  FROM user_hobby
 WHERE hobby IN ('piano', 'sport')
 GROUP BY user
HAVING COUNT(*) = 2

Esto hará que Oracle realice como máximo una sola pasada de datos, mientras que INTERSECT trataría cada consulta por separado y, por lo tanto, necesitaría dos pasadas.