ConceptStep · piattaforma didattica per l'informatica

Introduzione a SQL: SELECT e WHERE

SQL e database · Lezione

SQL · Lezione 2 / 8 · Laboratorio SQLite

Introduzione a SQL: SELECT e WHERE

Interroga biblioteca.db, scegli le colonne e filtra le righe con confronti e operatori logici.

← Torna al percorso SQL

Prima di iniziare

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».

Che cos'è SQL?

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 e FROM

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: selezionare i record

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.

Operatori di confronto

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, OR e NOT

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

Altri esempi

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.

Laboratorio ed esercizi

0 completati · 10 da fare

Scrivi una query per ogni consegna. Eseguila qui oppure in DB Browser; controlla colonne, righe e condizioni.

Esercizio 1

Visualizza soltanto titolo e genere di tutti i libri.

Numero di righe atteso: 8

Esercizio 2

Visualizza titolo e anno dei libri di George Orwell.

Numero di righe atteso: 2

Esercizio 3

Visualizza tutte le colonne dei libri pubblicati dopo il 1960.

Numero di righe atteso: 2

Esercizio 4

Visualizza titolo e anno dei libri pubblicati prima del 1950.

Numero di righe atteso: 3

Esercizio 5

Visualizza soltanto i titoli dei libri Fantasy.

Numero di righe atteso: 2

Esercizio 6

Visualizza titolo, autore e anno dei libri di Fantascienza pubblicati dopo il 1950.

Numero di righe atteso: 1

Esercizio 7

Visualizza tutti i libri pubblicati prima del 1950 oppure dopo il 1980.

Numero di righe atteso: 4

Esercizio 8

Visualizza tutti i libri che non appartengono al genere Narrativa.

Numero di righe atteso: 6

Esercizio 9

Visualizza i libri di George Orwell pubblicati prima del 1948.

Numero di righe atteso: 1

Esercizio 10

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.

La tua mappa delle competenze

Cosa devi sapere per Introduzione a SQL: SELECT e WHERE

ConceptStep distingue ciò che è indispensabile da ciò che è consigliato o utile come rinforzo. Solo i prerequisiti obbligatori bloccano l'avanzamento.

Argomento corrente Competenza solida Da ripassare Da rafforzare Da acquisire Supporto opzionale

Relazioni: linea continua = obbligatorio · linea tratteggiata = consigliato · linea puntinata = rinforzo.

PERCORSI GUIDATI

Vuoi scegliere la prossima competenza da sviluppare?