Schema relazionale
- AUTOMOBILI(IdAutomobile, Marca, Modello, Tipo, Prezzo, Giorni_attesa)
SELECT
- Quante automobili sono presenti
12SELECT Count(*) AS [Numero automobili]FROM AUTOMOBILI; - Quante automobili con specificati i giorni di attesa
12SELECT Count(Giorni_attesa)FROM AUTOMOBILI; - Quante automobili e quante con specificati i giorni di attesa
12SELECT Count(*), Count(Giorni_attesa)FROM AUTOMOBILI; - Quante automobili con i giorni di attesa non specificati
12SELECT Count(*)-Count(Giorni_attesa)FROM AUTOMOBILI;
oppure
123SELECT Count(*)FROM AUTOMOBILIWHERE Giorni_attesa IS NULL; - Quante automobili con il prezzo tra € 10.000 e € 20.000
123SELECT COUNT(*)FROM AUTOMOBILIWHERE (Prezzo BETWEEN 10000 AND 20000); - Quante automobili con il prezzo in una certa fascia
123SELECT Count(*)FROM AUTOMOBILIWHERE Prezzo BETWEEN [Prezzo minimo?] AND [Prezzo massimo?]; - Quanti SUV della Fiat?
123SELECT Count(*)FROM AUTOMOBILIWHERE (Marca = "Fiat") AND (Tipo = "SUV"); - Il prezzo più basso
12SELECT Min(Prezzo)FROM AUTOMOBILI - Il prezzo minimo, medio e massimo
12SELECT Min(Prezzo), Avg(Prezzo), Max(Prezzo)FROM AUTOMOBILI - Il prezzo totale di SUV presenti
123SELECT Sum(Prezzo)FROM AUTOMOBILIWHERE Tipo = "SUV"
GROUP BY
- Numero automobili, per marca
123SELECT Marca, Count(*)FROM AUTOMOBILIGROUP BY Marca; - Numero automobili con giorni di attesa noti, per marca
123SELECT Marca, Count(Giorni_attesa)FROM AUTOMOBILIGROUP BY Marca; - Numero di automobili e media dei giorni di attesa, per marca
123SELECT Marca, Count(Giorni_attesa), Avg(Giorni_attesa)FROM AUTOMOBILIGROUP BY Marca; - Prezzo medio, per tipo
123SELECT Tipo, Avg(Prezzo)FROM AUTOMOBILIGROUP BY Tipo; - Prezzo medio delle FIAT, per tipo
1234SELECT Tipo, Avg(Prezzo)FROM AUTOMOBILIWHERE Marca = "Fiat"GROUP BY Tipo; - Numero medio di giorni di attesa delle compatte, per marca
1234SELECT Marca, Avg(Giorni_attesa)FROM AUTOMOBILIWHERE Tipo = "Compatta"GROUP BY Marca; - Classifica delle marche di automobili per numero di modelli
1234SELECT Marca, Count(*)FROM AUTOMOBILIGROUP BY MarcaORDER BY Count(*) DESC; - Tabella con diverse informazioni, ordinata per prezzo medio crescente
1234SELECT Marca, Min(Prezzo), Avg(Prezzo), Max(Prezzo), Count(*), Avg(Giorni_attesa)FROM AUTOMOBILIGROUP BY MarcaORDER BY Avg(Prezzo);
HAVING
- Prezzo medio per tipo (se almeno due modelli presenti)
1234SELECT Tipo, Avg(Prezzo), Count(*)FROM AUTOMOBILIGROUP BY TipoHAVING Count(*) >= 2;