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?

  1. AAVG
  2. BMEAN
  3. CSUM
  4. DMEDIAN
2.Facile

In PostgreSQL e MySQL, quale clausola restituisce solo le prime 10 righe di un risultato?

  1. ATOP ROWS 10
  2. BMAX 10
  3. CLIMIT 10
  4. DFIRST 10 ONLY
3.Facile

Che cosa garantisce un vincolo UNIQUE su una colonna?

  1. AChe due righe non abbiano lo stesso valore non NULL in quella colonna
  2. BChe la colonna non possa essere modificata dopo l'inserimento
  3. CChe i valori della colonna siano ordinati
  4. DLa colonna diventa automaticamente la chiave primaria della tabella
4.Media

Che cos'è la SQL injection?

  1. AUn attacco in cui l'input dell'utente modifica la struttura di una query SQL
  2. BUna tecnica di backup del database
  3. CUn modo per aggiungere indici
  4. 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?

  1. ACombinare la tabella con se stessa usando UNION ALL e un filtro WHERE
  2. BUnendo la tabella employees con se stessa usando due alias
  3. CCreando una seconda copia della tabella su disco
  4. DUsando soltanto GROUP BY manager_id
6.Media

Quale affermazione su HAVING è corretta?

  1. ANon può essere usata con GROUP BY
  2. BDeve precedere WHERE nell'istruzione SELECT
  3. CPuò usare funzioni di aggregazione per filtrare i gruppi
  4. 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é?

  1. ALEFT JOIN non mantiene mai le righe senza corrispondenza
  2. BIl join dovrebbe usare USING invece di ON
  3. Cstatus è una parola riservata
  4. 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?

  1. AWHERE first_name = 'Eva'
  2. BWHERE first_name LIKE '%a'
  3. CWHERE last_name = 'Jansen'
  4. DWHERE UPPER(first_name) = 'EVA'

Soluzioni

  1. 1. A · AVG
  2. 2. C · LIMIT 10
  3. 3. A · Che due righe non abbiano lo stesso valore non NULL in quella colonna
  4. 4. A · Un attacco in cui l'input dell'utente modifica la struttura di una query SQL
  5. 5. B · Unendo la tabella employees con se stessa usando due alias
  6. 6. C · Può usare funzioni di aggregazione per filtrare i gruppi
  7. 7. D · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  8. 8. C · WHERE last_name = 'Jansen'

Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.