Esercitazione: Prima parte - Query SQL su una singola tabella


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 - svolta

Tutti gli smartphone presenti del database.

Ricordare:
Quando abbiamo una tabella:
nometabella(campo1, campo2, campo3, campo4, campo5)
La sintassi della SELECT è la seguente:
SELECT campo1, campo5 (* per indicare tutti i campi della tabella)
FROM nometabella
WHERE condizioni (es:. campo1 = 'VALORE')

Se non si specifica la clausola WHERE e le condizioni, si selezionano tutte le righe della tabella indicata nella clausola FROM.

Esercizio extra: Provare a modificare la query per selezionare invece di tutti i campi (*) solo il nome, ram, dimensioni e cpu.


Seconda Query

Il nome degli smartphone con la risoluzione del display (display_resolution) uguale a 1080x1920

Ricordare: Nelle condizioni possono essere usati gli operatori aritmetici come =,<, >, <=, >=. Se l'uguaglianza è con una stringa il valore deve essere posto tra apici ('VALORE').
Per inserire più condizioni utilizzare gli operatori logici come AND e OR.

Esercizio extra: Provare a trovare gli smartphone con il display 1080x1920 e 3Gb di ram.




Prova la tua query SQL:


SELECT campo FROM tabella WHERE campo='VALORE';









Prova la tua query SQL:


SELECT campo FROM tabella WHERE campo='VALORE';



Terza Query

Tutti gli smartphone della serie 'Galaxy'.

Ricordare: Per cercare una porzione di stringa si utilizza l'operatore LIKE e il valore deve contenere il carattere jolly %.
Esempio: nome LIKE 'I%' seleziona tutti i nomi che iniziano per I, mentre nome LIKE '%ph%' seleziona tutti i nomi che contengono la stringa 'ph'.

Esercizio extra: Provare a modificare la query per selezionare gli smartphone che hanno la cpu 'dual-core'.


Quarta Query

L'elenco di smartphone che hanno un peso maggiore di 150 grammi

Ricordare: Nelle condizioni possono essere usati gli operatori aritmetici come =,<, >, <=, >=. Nel caso in cui il campo da verificare sia un intero il valore con cui deve essere confrontato è un numero e va indicato senza apici.

Esercizio extra: Modificare la query per trovare gli smartphone con il peso inferiore a 150 grammi.



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

L'elenco degli smartphone con CPU 'Quad core' ordinati secondo la densità dello schermo.

Ricordare: Per cercare una porzione di stringa si utilizza la clausola ORDER BY che va inserita alla fine della query dopo la WHERE e le condizioni.
Esempio: SELECT campo FROM tabella WHERE campo LIKE 'I%' ORDER BY campo.

Esercizio extra: Provare a modificare la query invertendo l'ordine. Per farlo basta inserire alla fine della query la clausola DESC.
Esempio: SELECT campo FROM tabella WHERE campo LIKE 'I%' ORDER BY campo DESC.


Seconda parte - JOIN - Query su due tabelle