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

Che cosa fa WHERE country IN ('NL', 'BE', 'DE')?

  1. AMantiene le righe in cui country non è nell'elenco
  2. BOrdina le righe nell'ordine dell'elenco
  3. CMantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  4. DMantiene le righe in cui country contiene contemporaneamente tutti e tre i codici
3.Facile

Quale istruzione SQL aggiunge nuove righe a una tabella?

  1. AUPDATE
  2. BINSERT
  3. CSELECT
  4. DALTER
4.Media

Che cosa fa ROLLBACK TO SAVEPOINT s1?

  1. AAnnulla l'intera transazione dall'inizio
  2. BElimina il savepoint e tutte le tabelle modificate da allora
  3. CConclude la transazione e conferma tutto
  4. DAnnulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
5.Media

Nell'algebra relazionale, l'operatore di selezione (σ) corrisponde a quale clausola SQL?

  1. AGROUP BY
  2. BWHERE
  3. CORDER BY
  4. DElenco della SELECT
6.Media

La prima forma normale (1NF) richiede che:

  1. AOgni colonna contenga valori atomici e non ci siano gruppi ripetuti
  2. BNon ci siano chiavi esterne
  3. COgni tabella abbia esattamente una colonna
  4. DOgni colonna non chiave dipende dall'intera chiave e da nient'altro che dalla chiave
7.Difficile

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

  1. ACOUNT(*) ignora le righe con valori NULL
  2. BCOUNT(*) non è ammesso dopo un join
  3. CCOUNT(o.id) conta solo i clienti distinti
  4. DCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
8.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. BUn errore, perché name non è in un GROUP BY
  3. COgni riga di dipendente insieme allo stipendio medio del suo reparto
  4. DSolo i dipendenti che guadagnano più della media del loro reparto

Soluzioni

  1. 1. A · LIMIT 10
  2. 2. C · Mantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  3. 3. B · INSERT
  4. 4. D · Annulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  5. 5. B · WHERE
  6. 6. A · Ogni colonna contenga valori atomici e non ci siano gruppi ripetuti
  7. 7. D · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. C · Ogni riga di dipendente insieme allo stipendio medio del suo reparto

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