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);
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.
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.
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'.
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.
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.