Witam! Mam problem z dosyć prostym zapytaniem. Ogólnie rzecz biorąc mam wyświetlić imiona i nazwiska dydaktyków, którzy nie wystawili żadnej oceny. Dziwi mnie to, iż moje zapytanie wyświetla mi listę dydaktyków, którzy wystawili oceny, gdy zmienię NOT EXISTS na EXISTS. Próbowałem to zadanie wykonać przy pomocy IS NULL, aczkolwiek efekt był identyczny.
W załączniku umieściłem schemat do bazy.
SELECT o.IdOsoba, o.Imie, o.Nazwisko, COUNT(oc.ocena) 'Ile Ocen' FROM Osoba o, Dydaktyk d, Ocena oc
WHERE o.idOsoba = d.idOsoba AND d.IdOsoba = oc.IdDydaktyk
AND NOT EXISTS
(
SELECT z.Ocena FROM Osoba x, Dydaktyk y, Ocena z
WHERE d.IdOsoba = y.IdOsoba AND y.IdOsoba = z.IdDydaktyk
)
GROUP BY o.IdOsoba, o.Imie, o.Nazwisko;
Także, byłbym wdzięczny jakby ktoś wytknął mi błąd lub lukę w moim rozumowaniu.
Z góry dzięki!
P.S. Niestety, nie mogę korzystać z T-SQLa.