Dajmy na to, że mamy tabele A z liczbami parzystymi:
SELECT LEVEL * 2 AS n FROM DUAL CONNECT BY LEVEL <= 100oraz tabele B z liczbami podzielnymi przez 3:
SELECT LEVEL * 3 AS n FROM DUAL CONNECT BY LEVEL <= 100Teraz spróbujemy wyciągnąć różnice między tablą A i B. Całe zapytanie wygląda następująco:
WITH A AS ( SELECT LEVEL * 2 AS n FROM DUAL CONNECT BY LEVEL <= 100 ), B AS ( SELECT LEVEL * 3 AS n FROM DUAL CONNECT BY LEVEL <= 100 ) (SELECT 'a' tab ,n FROM A MINUS SELECT 'a' tab ,n FROM B) UNION ALL (SELECT 'b' tab ,n FROM B MINUS SELECT 'b' tab ,n FROM A) ORDER by n ;Wynik takiego zapytania jest przedstawiony poniżej:
Brak komentarzy:
Prześlij komentarz