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 parola chiave assegna in una query un nome alternativo temporaneo a una colonna o a una tabella?

  1. ARENAME
  2. BALIAS
  3. CNAME
  4. DAS
2.Facile

Un INNER JOIN restituisce:

  1. ATutte le righe della tabella di sinistra, con NULL dove non c'è corrispondenza
  2. BLe righe che non corrispondono
  3. CTutte le righe di entrambe le tabelle
  4. DSolo le righe con valori corrispondenti in entrambe le tabelle
3.Facile

Quale parola chiave SQL elimina le righe duplicate da un risultato?

  1. ASINGLE
  2. BDIFFERENT
  3. CDISTINCT
  4. DUNIQUE
4.Media

Una colonna contiene i valori 10, 20 e NULL. Che cosa restituisce AVG(col)?

  1. A10
  2. B15
  3. CNULL
  4. D30
5.Media

Una vista (view) in SQL è:

  1. AUna query memorizzata che si comporta come una tabella virtuale
  2. BUna copia di una tabella su disco
  3. CUna schermata del client del database per sfogliare le tabelle
  4. DUn tipo di indice
6.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. AUnendo la tabella employees con se stessa usando due alias
  2. BCombinare la tabella con se stessa usando UNION ALL e un filtro WHERE
  3. CCreando una seconda copia della tabella su disco
  4. DUsando soltanto GROUP BY manager_id
7.Difficile

Quale funzione finestra assegna 1, 2, 3, ... alle righe di ogni partizione senza pari merito?

  1. ADENSE_RANK()
  2. BCOUNT()
  3. CRANK()
  4. DROW_NUMBER()
8.Difficile

Due transazioni leggono entrambe stock = 10, ciascuna sottrae 1 e scrive il risultato, ottenendo 9 invece di 8. Di quale anomalia si tratta?

  1. ALettura fantasma
  2. BAggiornamento perso (lost update)
  3. CLettura sporca
  4. DAnomalia di cancellazione

Soluzioni

  1. 1. D · AS
  2. 2. D · Solo le righe con valori corrispondenti in entrambe le tabelle
  3. 3. C · DISTINCT
  4. 4. B · 15
  5. 5. A · Una query memorizzata che si comporta come una tabella virtuale
  6. 6. A · Unendo la tabella employees con se stessa usando due alias
  7. 7. D · ROW_NUMBER()
  8. 8. B · Aggiornamento perso (lost update)

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