Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Konwertuj zapytanie SQL na użycie operatorów zbioru

To nie jest sposób, w jaki normalnie to robisz, ale w ramach ćwiczenia możesz uzyskać zestaw wszystkich identyfikatorów klientów i MINUS zestaw wszystkich identyfikatorów z więcej niż dwiema transakcjami, które możesz uzyskać bez patrzenia na tabelę klientów przez sekundę czas:

SELECT C.ID
FROM CUSTOMER C
MINUS
SELECT P.ID
FROM PERFORMS P
INNER JOIN TRANSACTION T
ON T.CODE = P.CODE
GROUP BY P.ID
HAVING COUNT(T.CODE) > 1;

Tak naprawdę nie musisz dołączać do TRANSACTION, możesz po prostu policzyć wartości kodu bezpośrednio w PERFORMS:

SELECT C.ID
FROM CUSTOMER C
MINUS
SELECT P.ID
FROM PERFORMS P
GROUP BY P.ID
HAVING COUNT(P.CODE) > 1;

... ale może chodzi o coś więcej niż to, co pokazałeś, na przykład ograniczenie według typu lub daty.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać podciąg w Oracle?

  2. Używasz sqlalchemy dburi z Oracle przy użyciu zewnętrznego magazynu haseł?

  3. Różnice między MySQL a Oracle DB

  4. Jak obliczany jest współczynnik klastrowania Oracle Index

  5. Pula połączeń Tomcat jdbc - wycofanie porzuconej transakcji