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

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

  1. ALIMIT 10
  2. BFIRST 10 ONLY
  3. CTOP ROWS 10
  4. DMAX 10
2.Facile

Quale parola chiave assegna in una query un nome alternativo temporaneo a una colonna o a una tabella?

  1. ARENAME
  2. BAS
  3. CNAME
  4. DALIAS
3.Facile

Quale istruzione SQL modifica i valori di righe già esistenti?

  1. AMODIFY
  2. BINSERT
  3. CUPDATE
  4. DREPLACE COLUMN
4.Media

Perché una tabella può avere un solo indice clusterizzato (clustered index)?

  1. AGli indici clusterizzati possono essere definiti solo sulla chiave primaria
  2. BLe righe possono essere memorizzate fisicamente in un solo ordine
  3. CLo standard SQL vieta più di un indice per tabella
  4. DGli indici clusterizzati usano troppa memoria
5.Media

Quale proprietà ACID garantisce che le modifiche confermate sopravvivano a un crash del sistema?

  1. AAtomicità
  2. BCoerenza
  3. CIsolamento
  4. DDurabilità
6.Media

Una vista (view) in SQL è:

  1. AUna schermata del client del database per sfogliare le tabelle
  2. BUna query memorizzata che si comporta come una tabella virtuale
  3. CUn tipo di indice
  4. DUna copia di una tabella su disco
7.Difficile

Che cosa restituisce SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. AUna riga per reparto con il suo stipendio medio
  2. BSolo i dipendenti che guadagnano più della media del loro reparto
  3. COgni riga di dipendente insieme allo stipendio medio del suo reparto
  4. DUn errore, perché name non è in un GROUP BY
8.Difficile

Dopo customers LEFT JOIN orders, perché usare COUNT(o.id) invece di COUNT(*) per contare gli ordini per cliente?

  1. ACOUNT(o.id) conta solo i clienti distinti
  2. BCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  3. CCOUNT(*) non è ammesso dopo un join
  4. DCOUNT(*) ignora le righe con valori NULL

Soluzioni

  1. 1. A · LIMIT 10
  2. 2. B · AS
  3. 3. C · UPDATE
  4. 4. B · Le righe possono essere memorizzate fisicamente in un solo ordine
  5. 5. D · Durabilità
  6. 6. B · Una query memorizzata che si comporta come una tabella virtuale
  7. 7. C · Ogni riga di dipendente insieme allo stipendio medio del suo reparto
  8. 8. B · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini

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