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