Jeśli mam takie zapytanie:
SELECT nazwisko, nazwa
FROM pracownik INNER JOIN departament
ON pracownik.nr_departamentu = departament.nr_departamentu
GROUP BY departament.nr_departamentu, nazwisko, nazwa, pensja
HAVING pensja = (SELECT MAX(pensja)
FROM pracownik
WHERE pracownik.nr_departamentu = departament.nr_departamentu)
to zostaną zwrócone 4 wyniki, dlaczego natomiast jeśli użyje takiego zapytania:
SELECT nazwisko, nazwa
FROM pracownik INNER JOIN departament
ON pracownik.nr_departamentu = departament.nr_departamentu
GROUP BY departament.nr_departamentu, nazwisko, nazwa, pensja
HAVING pensja = (SELECT MAX(pensja)
FROM pracownik INNER JOIN departament
ON pracownik.nr_departamentu = departament.nr_departamentu)
to zostaje zwrócony tylko jeden wynik? Jak dla mnie te dwa zapytania powinny zwracać to samo