capypad
0 Tage Serie
sql / expert
Snippet

Multi-Mengen-Differenz mit EXCEPT ALL

EXCEPT ALL führt eine Multi-Mengen-Differenz zwischen zwei Ergebnismengen aus. Im Gegensatz zu EXCEPT, das alle Duplikate entfernt, subtrahiert EXCEPT ALL die Anzahl der Werte in der zweiten Menge von der ersten. Wenn 'Produkt A' 5-mal in der ersten Menge und 2-mal in der zweiten erscheint, gibt EXCEPT ALL 'Produkt A' 3-mal zurück.

snippet.sql
sql
1
2
3
SELECT product_id FROM inventory_2023
EXCEPT ALL
SELECT product_id FROM inventory_2024;
Erklärung
1
SELECT product_id FROM inventory_2023
Ruft alle Produkt-IDs aus der ersten Quelle ab, einschließlich Duplikaten.
2
EXCEPT ALL
Subtrahiert übereinstimmende Vorkommen aus der zweiten Menge, ohne eine Distinct-Operation durchzuführen.
3
SELECT product_id FROM inventory_2024
Ruft die IDs aus der zweiten Quelle ab, die aus der ersten 'entfernt' werden.