Scheda di esercizi di Basi di dati e SQL con soluzioni
Scheda di esercizi di Basi di dati e SQL gratuita e stampabile: 8 esercizi dal livello facile a quello d’esame, con le soluzioni. Stampala o salvala come PDF.
Per i docenti: gratuita da stampare, copiare e usare in classe. Ogni nuova scheda ha nuovi valori e le sue soluzioni. Un link a ExamProblems nella pagina del corso è molto apprezzato.
Nome: ____________________ Data: ____________
1.Facile
Quale funzione di aggregazione restituisce la media di una colonna numerica?
- AAVG
- BMEAN
- CSUM
- DMEDIAN
2.Facile
In PostgreSQL e MySQL, quale clausola restituisce solo le prime 10 righe di un risultato?
- ATOP ROWS 10
- BMAX 10
- CLIMIT 10
- DFIRST 10 ONLY
3.Facile
Che cosa garantisce un vincolo UNIQUE su una colonna?
- AChe due righe non abbiano lo stesso valore non NULL in quella colonna
- BChe la colonna non possa essere modificata dopo l'inserimento
- CChe i valori della colonna siano ordinati
- DLa colonna diventa automaticamente la chiave primaria della tabella
4.Media
Che cos'è la SQL injection?
- AUn attacco in cui l'input dell'utente modifica la struttura di una query SQL
- BUna tecnica di backup del database
- CUn modo per aggiungere indici
- DUna tecnica per inserire rapidamente molte righe con una sola istruzione INSERT
5.Media
Una tabella employees ha una colonna manager_id che fa riferimento a un altro dipendente. Come si elenca ogni dipendente accanto al nome del suo responsabile?
- ACombinare la tabella con se stessa usando UNION ALL e un filtro WHERE
- BUnendo la tabella employees con se stessa usando due alias
- CCreando una seconda copia della tabella su disco
- DUsando soltanto GROUP BY manager_id
6.Media
Quale affermazione su HAVING è corretta?
- ANon può essere usata con GROUP BY
- BDeve precedere WHERE nell'istruzione SELECT
- CPuò usare funzioni di aggregazione per filtrare i gruppi
- DOrdina i risultati
7.Difficile
La query FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' esclude inaspettatamente i clienti senza ordini. Perché?
- ALEFT JOIN non mantiene mai le righe senza corrispondenza
- BIl join dovrebbe usare USING invece di ON
- Cstatus è una parola riservata
- DLa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
8.Difficile
Esiste un indice composto su (last_name, first_name). Quale condizione può usarlo nel modo più efficace?
- AWHERE first_name = 'Eva'
- BWHERE first_name LIKE '%a'
- CWHERE last_name = 'Jansen'
- DWHERE UPPER(first_name) = 'EVA'