SQL Prüfungsfragen

susanne80

Grünschnabel
Hallo Ihr lieben,



ich habe morgen eine info prüfung und es sollen folgende aufgaben drankommen die ich leider

nicht lösen kann. Ich hoffe es findet sich ein sql „freak“ der mir helfen kann….



Aufgabe 1)
Für welche zwei Projekte sind die meisten Stunden angefallen?



Tabelle WORKS-ON
EMPNO PROJNO ROLE HOUR SALARY
7566 100 Manager 30 150

7566 200 Manager 15 150

usw...


Aufgabe 2)



Für jedes Department (deptno) soll der prozentuale Anteil des gezahlten Gehaltes am
Gesamtgehalt ausgegeben werden:



Tabelle EMPLOYEE
EMPNO ENAME SALARY DEPTNO
7499 Clerk 800 10
usw...


Ich hoffe sehr das jemand so lieb ist und lost mir das…



Hiiiiiilfeee und Danke
 
Zu 1:
Code:
SELECT 
PROJNO,
SUM(HOUR) AS totalHour
FROM `WORKS-ON`
GROUP BY PROJNO
ORDER BY totalHour DESC
LIMIT 2
Zu 2:
Code:
SELECT
t1.DEPTNO,
SUM(t1.SALARY) / (
  SELECT SUM(t2.SALARY) FROM EMPLOYEE AS t2
) * 100 AS percentSalary
FROM EMPLOYEE AS t1
GROUP BY t1.DEPTNO
 
hallo hpvw,

erst mal vielen vielen dank.

zu deiner frage wegen dem dbms. ich bitte bei mir um nachsicht, das ich
davon garkeine ahnung habe.

laut unserem skripz benutzen wir MS-SQL Server 2000, Oracle 9i
My SQL 3.23...ich hoffe du kannst damit was anfangen?

sind deine gelösten aufgaben damit auch lösbar?

liebe grüße
susanne
 
Ich kann nur für MySQL sprechen. Die spezifischen Dialekte von MS und Oracle kenne ich nicht.
Die Lösung zu 1 sollte in allen MySQL Versionen funktionieren.
Die Lösung zu 2 wird, wegen dem Subselect, in MySQL ab Version 4.1 funktionieren.
Ich kenne allerdings auch keine Lösung zu 2, die in einem einzigen Query ohne Subselect auskommt, es sei denn, irgendein SQL-Dialekt hat eine Funktion für den Anteil. MySQL hat eine solche Funktion meines Wissens nicht.

Gruß hpvw
 
Zurück