sql >> Databáze >  >> RDS >> Oracle

Převést dotaz SQL na použití operátorů sady

Není to tak, jak byste to normálně dělali, ale jako cvičení můžete získat sadu všech ID zákazníků a MÍNUS sadu všech ID s více než dvěma transakcemi, které můžete získat, aniž byste se na vteřinu dívali do tabulky zákazníků. čas:

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;

Ve skutečnosti se nemusíte připojovat k TRANSACTION, stačí spočítat hodnoty kódu přímo v 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žná je zde více k otázce, co jste ukázali, jako omezení podle typu nebo data.




  1. MySQL na Azure Performance Benchmark – ScaleGrid vs. Azure Database

  2. seskupit přesné tandemové hodnoty ze 2 sloupců?

  3. Použití SSL s SQLAlchemy

  4. Proč nemohu použít proměnnou vazby v příkazu pro okamžité spuštění?