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. AMAX 10
  2. BLIMIT 10
  3. CFIRST 10 ONLY
  4. DTOP ROWS 10
2.Facile

Istruzioni come CREATE, ALTER e DROP appartengono a quale parte di SQL?

  1. AData Control Language (DCL)
  2. BData Definition Language (DDL)
  3. CData Manipulation Language (DML)
  4. DTransaction Control Language (TCL)
3.Facile

Quale funzione di aggregazione conta le righe?

  1. AMAX
  2. BCOUNT
  3. CSUM
  4. DAVG
4.Media

Quale query restituisce il numero di ordini per cliente?

  1. ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  2. BSELECT DISTINCT COUNT(*) FROM orders
  3. CSELECT customer_id FROM orders WHERE COUNT(*) > 0
  4. DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
5.Media

La prima forma normale (1NF) richiede che:

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

Che cosa restituisce EXCEPT (chiamato MINUS in Oracle)?

  1. ALe righe della seconda query che non compaiono nella prima
  2. BLe righe che compaiono in entrambe le query
  3. CTutte le righe di entrambe le query senza duplicati
  4. DLe righe della prima query che non compaiono nella seconda
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. BOgni riga di dipendente insieme allo stipendio medio del suo reparto
  3. CSolo i dipendenti che guadagnano più della media del loro reparto
  4. DUn errore, perché name non è in un GROUP BY
8.Difficile

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

  1. ACOUNT()
  2. BDENSE_RANK()
  3. CRANK()
  4. DROW_NUMBER()

Soluzioni

  1. 1. B · LIMIT 10
  2. 2. B · Data Definition Language (DDL)
  3. 3. B · COUNT
  4. 4. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. C · Ogni colonna contenga valori atomici e non ci siano gruppi ripetuti
  6. 6. D · Le righe della prima query che non compaiono nella seconda
  7. 7. B · Ogni riga di dipendente insieme allo stipendio medio del suo reparto
  8. 8. D · ROW_NUMBER()

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