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

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

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

Che cosa restituisce un CROSS JOIN?

  1. ASolo le righe che non corrispondono
  2. BSolo le righe che corrispondono su una colonna chiave condivisa
  3. CSolo le righe della prima tabella
  4. DOgni combinazione di righe delle due tabelle
3.Facile

Che cosa fa ROLLBACK in una transazione?

  1. AElimina la tabella
  2. BRipete l'ultima istruzione
  3. CSalva in modo permanente su disco tutte le modifiche della transazione
  4. DAnnulla le modifiche fatte dall'inizio della transazione
4.Media

Che cosa fa ROLLBACK TO SAVEPOINT s1?

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

Quale query restituisce lo stipendio più alto di ogni reparto?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT MAX(dept), salary FROM emp GROUP BY salary
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
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. 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. CUsando soltanto GROUP BY manager_id
  4. DCreando una seconda copia della tabella su disco
7.Difficile

Che cosa calcola SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AL'importo medio per giorno
  2. BUn totale progressivo di amount ordinato per giorno
  3. CUna riga per giorno con il solo totale di quel giorno
  4. DIl totale di tutti gli importi su ogni riga
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. BOgni riga di dipendente insieme allo stipendio medio del suo reparto
  3. CUn errore, perché name non è in un GROUP BY
  4. DSolo i dipendenti che guadagnano più della media del loro reparto

Soluzioni

  1. 1. D · Mantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  2. 2. D · Ogni combinazione di righe delle due tabelle
  3. 3. D · Annulla le modifiche fatte dall'inizio della transazione
  4. 4. B · Annulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  5. 5. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. B · Unendo la tabella employees con se stessa usando due alias
  7. 7. B · Un totale progressivo di amount ordinato per giorno
  8. 8. B · Ogni riga di dipendente insieme allo stipendio medio del suo reparto

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