- LAVORATORI(IDlavoratore, cognome, nome, salario, mansione, settoreID)
- SETTORI(IDsettore, descrizione)
LAVORATORI.settoreID è chiave esterna collegata a SETTORI.IDsettore
Query
- TEMP1: totale dei salari per settore
123SELECT settoreID, Sum(salario) AS [Totale salari]FROM LAVORATORIGROUP BY settoreID - TEMP2: salario massimo per settore
123SELECT settoreID, Max(salario) AS [Salario massimo]FROM LAVORATORIGROUP BY settoreID - TEMP3: salario medio per settore
123SELECT settoreID, Avg(salario) AS [Salario medio]FROM LAVORATORIGROUP BY settoreID - Massimo tra le somme dei salari per settore
12SELECT Max([Totale salari])FROM TEMP1 - Massimo tra le somme dei salari per settore, senza usare la query TEMP1
1234SELECT Max([Totale salari])FROM (SELECT Sum(salario) AS [Totale salari]FROM LAVORATORIGROUP BY settoreID) - Settore, salario massimo, quanti lavoratori con quel salario
1234SELECT TEMP2.settore, TEMP2.[Salario massimo], Count(*) AS [Numero lavoratori]FROM LAVORATORI INNER JOIN TEMP2 ON LAVORATORI.settoreID = TEMP2.settoreIDWHERE LAVORATORI.salario = TEMP2.[Salario massimo]GROUP BY TEMP2.settoreID, TEMP2.[Salario massimo] - oppure
1234SELECT TEMP2.settore, TEMP2.[Salario massimo], Count(*) AS [Numero lavoratori]FROM LAVORATORI, TEMP2WHERE (LAVORATORI.settoreID = TEMP2.settoreID) AND (LAVORATORI.salario = TEMP2.[Salario massimo])GROUP BY TEMP2.settoreID, TEMP2.[Salario massimo] - oppure, senza usare la query TEMP2
123456SELECT TEMP2.settoreID, TEMP2.[Salario massimo], Count(*) AS [Numero lavoratori]FROM LAVORATORI, (SELECT settoreID, Max(salario) AS [Salario massimo]FROM LAVORATORIGROUP BY settoreID) AS TEMP2WHERE (LAVORATORI.settoreID = TEMP2.settoreID) AND (LAVORATORI.salario = TEMP2.[Salario massimo])GROUP BY TEMP2.settore, TEMP2.[Salario massimo] - I settori con salario medio di almeno 1350 €
123SELECT SETTORI.*, [Salario medio]FROM SETTORI INNER JOIN TEMP3 ON SETTORI.IDsettore = TEMP3.settoreIDWHERE [Salario medio] >= 1350 - oppure
123456SELECT SETTORI.*, [Salario medio]FROM SETTORI INNER JOIN (SELECT settoreID, Avg(salario) AS [Salario medio]FROM LAVORATORIGROUP BY settoreID) AS TEMP3ON SETTORI.IDsettore = TEMP3.settoreIDWHERE [Salario medio] >= 1350