Schema relazionale
- IMPIEGATI(IDimpiegato, cognome, nome, stipendio, superioreID)
IMPIEGATI.superioreID è chiave esterna collegata a IMPIEGATI.IDimpiegato
Query
- Stipendio più basso, medio, più alto e numero di stipendiati
12345SELECT Min(stipendio) AS [stipendio minimo],Avg(stipendio) AS [stipendio medio],Max(stipendio) AS [stipendio massimo],Count(stipendio) AS [numero stipendiati]FROM IMPIEGATI - I dati degli impiegati con il cognome del loro superiore
1234SELECT I1.cognome, I1.nome,I2.cognome AS [superiore]FROM IMPIEGATI AS I1, IMPIEGATI AS I2WHERE I1.superioreID = I2.IDimpiegato - con INNER JOIN…
123SELECT I1.cognome, I1.nome,I2.cognome AS [superiore]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegato - I dati degli impiegati con lo stipendio più alto del loro superiore
1234SELECT I1.cognome, I1.nome, I1.stipendio,I2.cognome AS [superiore], I2.stipendioFROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegatoWHERE I1.stipendio > I2.stipendio - … quanti sono
123SELECT Count(*) AS [Quanti ...]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2WHERE I1.stipendio > I2.stipendio - Il valore minimo e massimo degli stipendi delle coppie impiegato-superiore
123SELECT Min(I1.stipendio+I2.stipendio) AS [coppia povera],Max(I1.stipendio+I2.stipendio) AS [coppia ricca]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegato - La differenza più alta tra lo stipendio di un superiore e di un impiegato
12SELECT Max(I2.stipendio-I1.stipendio) AS [differenza massima]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegato - Il totale degli stipendi dei superiori
12SELECT Sum(I2.stipendio) AS [totale stipendi dei superiori]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON (I1.superioreID=I2.IDimpiegato) - Il totale degli stipendi dei dipendenti per ogni superiore
123SELECT I2.Cognome, Sum(I1.stipendio) AS [stipendi dei dipendenti]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegatoGROUP BY I2.Cognome - Il totale degli stipendi dei dipendenti per ogni superiore (se è almeno 100000)
1234SELECT I2.Cognome, Sum(I1.stipendio) AS [stipendi dei dipendenti]FROM IMPIEGATI AS I1 INNER JOIN IMPIEGATI AS I2 ON I1.superioreID = I2.IDimpiegatoGROUP BY I2.CognomeHAVING Sum(I1.stipendio) >= 100000