Esercitazione: Terza parte - COUNT, GROUP BY, SUM


Database OS, Marca, Smartphone


Per la nostra esercitazione SQL, è stato creato e popolato un database. Lo script per importarlo è al seguente link.
Le entità sono tre: Marca (Samsung, Apple, HTC, etc.), OS (Android, iOS, etc.), Smartphone (Galaxy S4, iPhone 5S, etc).

Provare ad eseguire le query richieste.


Struttura e Contenuto Database

es2_smartphone (id, nome, ram, cpu, display_ppi, display_size, display_resolution, dimensioni, peso, note, id_marca, id_os);
es2_os (id, descrizione, company, open_source);
es2_marca (id, brand, nazionalita);

 









Prova la tua query SQL:


SELECT * FROM es2_smartphone;



Prima Query - COUNT

Contare quanti smartphone hanno 2Gb di RAM

Ci sono molte funzioni particolari nel linguaggio SQL. Una delle più comuni ed usata è la funzione COUNT che viene inserita dopo il SELECT.

Esempio: SELECT COUNT(*) FROM es2_smartphone;
Questa query seleziona il numero di righe presenti nella tabella es2_smartphone.

Ricordare: SELECT COUNT(*) restituisce sempre un NUMERO e non un valore presente nel DB.


Seconda query - COUNT

Quanti smartphone hanno il Sistema Operativo Windows Phone 8

Ricordare: Anche se la query è in JOIN può essere usato COUNT(*) per contare il numero dei risultati ottenuti.




Prova la tua query SQL:


SELECT nome, brand FROM es2_smartphone,es2_marca;









Prova la tua query SQL:


SELECT es2_os.descrizione, COUNT(es2_smartphone.nome) FROM es2_smartphone, es2_os WHERE es2_os.id = es2_smartphone.id_os GROUP BY id_os;



Terza Query - GROUP BY - Svolta

Quanti smartphone ci sono per sistema operativo.

Ricordare: La GROUP BY è seguita da un elenco di colonne, denominate colonne di raggruppamento. Quando un'istruzione SELECT include una clausola GROUP BY, nell'elenco di selezione è possibile specificare solo i seguenti valori:
Le colonne di raggruppamento.
Espressioni che restituiscono un solo valore per ogni valore delle colonne di raggruppamento, ad esempio funzioni come COUNT, MIN, MAX, SUM, AVG in cui un parametro è impostato su un nome di colonna.

Esercizio extra: Ordinare la query per la descrizione del sistema operativo.


Quarta Query - GROUP BY

Lo smartphone 'Android' più leggero.

Ricordare: Prima i telefoni devono essere raggruppati per sistema operativo. Tra gli Android deve essere selezionato lo smartphone con il peso MINIMO (MIN).

Esercizio extra: Modificare la query per trovare lo smartphone 'Android' con la densità dello schermo maggiore.



Prova la tua query SQL:


SELECT campo FROM tabella WHERE campo='VALORE';







Prova la tua query SQL:


SELECT campo FROM tabella WHERE campo='VALORE';



Quinta Query in JOIN

La media della dimensione dello schermo degli smartphone.

Ricordare: La funzione per calcolare la media tra dei valori numerici è AVG.