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.
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);
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.
Ricordare: Anche se la query è in JOIN può essere usato COUNT(*) per contare il numero dei risultati ottenuti.
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.
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.
Ricordare: La funzione per calcolare la media tra dei valori numerici è AVG.