Esercizio 1
Visualizza soltanto titolo e genere di tutti i libri.
Numero di righe atteso: 8
SQL e database · Lezione
Interroga biblioteca.db, scegli le colonne e filtra le righe con confronti e operatori logici.
Le lezioni usano biblioteca.db: una tabella libri con otto record. Nel laboratorio a destra puoi provare subito le query e scaricare lo stesso database per continuare con DB Browser for SQLite.
Puoi sperimentare liberamente: se vuoi tornare agli otto libri iniziali, usa il pulsante «Ripristina».
SQL significa Structured Query Language. Permette di interrogare e gestire database relazionali. Apri biblioteca.db in DB Browser for SQLite, scegli la scheda Execute SQL, scrivi la query e premi il pulsante di esecuzione. Puoi svolgere le stesse prove nel laboratorio qui accanto.
SELECT * FROM libri;
Risultato atteso: Tutte le 8 righe e tutte le colonne.
SELECT sceglie le colonne da mostrare; FROM indica la tabella. L'asterisco (*) richiede tutte le colonne. La virgola separa i nomi delle colonne; il punto e virgola termina l'istruzione. Una query SELECT non modifica il database.
SELECT titolo, autore FROM libri;
Risultato atteso: 8 righe con le sole colonne titolo e autore.
WHERE restituisce soltanto i record che soddisfano una condizione. Racchiudi il testo tra apici singoli: 'George Orwell'. Puoi combinare WHERE con la scelta delle colonne.
SELECT titolo, anno FROM libri WHERE autore = 'George Orwell';
Risultato atteso: Due libri: 1984 e La fattoria degli animali.
Confronta valori con = (uguale), <> (diverso), >, <, >= e <=. Un libro del 1950 non soddisfa anno > 1950; per includerlo occorre >=. Senza ORDER BY, l'ordine dei risultati non è garantito.
SELECT titolo, anno FROM libri WHERE anno > 1950;
Risultato atteso: 4 righe: Harry Potter…, Il Signore degli Anelli, Fahrenheit 451 e Il nome della rosa.
AND richiede che tutte le condizioni siano vere; OR ne richiede almeno una; NOT nega una condizione. Usa le parentesi quando combini AND e OR, per rendere esplicito l'ordine logico.
SELECT titolo FROM libri WHERE genere = 'Fantascienza' AND anno > 1950;
Risultato atteso: Una sola riga: Fahrenheit 451 (Io, Robot è del 1950).
Una condizione con OR unisce due insiemi di risultati. NOT genere = 'Fantasy' esclude i libri Fantasy, come genere <> 'Fantasy' quando genere non è NULL.
SELECT titolo, genere FROM libri WHERE genere = 'Fantasy' OR genere = 'Fantascienza';
Risultato atteso: 4 righe: due Fantasy e due Fantascienza.
Scrivi una query per ogni consegna. Eseguila qui oppure in DB Browser; controlla colonne, righe e condizioni.
Visualizza soltanto titolo e genere di tutti i libri.
Numero di righe atteso: 8
Visualizza titolo e anno dei libri di George Orwell.
Numero di righe atteso: 2
Visualizza tutte le colonne dei libri pubblicati dopo il 1960.
Numero di righe atteso: 2
Visualizza titolo e anno dei libri pubblicati prima del 1950.
Numero di righe atteso: 3
Visualizza soltanto i titoli dei libri Fantasy.
Numero di righe atteso: 2
Visualizza titolo, autore e anno dei libri di Fantascienza pubblicati dopo il 1950.
Numero di righe atteso: 1
Visualizza tutti i libri pubblicati prima del 1950 oppure dopo il 1980.
Numero di righe atteso: 4
Visualizza tutti i libri che non appartengono al genere Narrativa.
Numero di righe atteso: 6
Visualizza i libri di George Orwell pubblicati prima del 1948.
Numero di righe atteso: 1
Visualizza titolo, autore e anno dei libri pubblicati dal 1900 al 1999, estremi inclusi.
Numero di righe atteso: 8
Premi «Controlla esercizio» per verificare il risultato. Se non riesci, usa «Aiutami»: riceverai suggerimenti graduali senza vedere subito la soluzione.
ConceptStep distingue ciò che è indispensabile da ciò che è consigliato o utile come rinforzo. Solo i prerequisiti obbligatori bloccano l'avanzamento.
Relazioni: linea continua = obbligatorio · linea tratteggiata = consigliato · linea puntinata = rinforzo.