Aufgabe: Liste Name und Gehalt des höchsten und niedrigsten bezahlten Mitarbeiters aus jeder Abteilung. Sie können die Abfragen für höchste und niedrigste auch separat durchführen.Abfragevereinfachung durch Verwendung der Oracle-Beispieldatenbank
Versuchte Abfrage:
SELECT dept.deptno,
dname,
minsal,
maxsal
FROM dept,
(SELECT deptno,
Max (sal) MAXSAL
FROM emp
GROUP BY deptno) MAXSALARY,
(SELECT deptno,
Min (sal)MINSAL
FROM emp
GROUP BY deptno) MINSALARY
WHERE MAXSALARY.deptno = dept.deptno
AND MINSALARY.deptno = dept.deptno;
Ergebnis
Das Ergebnis ist korrekt.
Frage) Gibt es eine andere Möglichkeit, die Abfrage zu vereinfachen?
Ich bin ein Anfänger in SQL. Können wir das mit einfachen Sub-Quries vereinfachen? @sagi –
@nafeesahmed müssen Sie den Mitarbeiternamen zurückbringen? oder Sie müssen nur ausgeben -> 'DEPname, MaxSal, MinSal'? – sagi
ich brauche nur DEPname, maxSal, minSal –