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

Come si ordina un risultato dallo stipendio più alto a quello più basso?

  1. AORDER BY salary ASC
  2. BSORT salary DOWN
  3. CORDER BY salary DESC
  4. DGROUP BY salary DESC
2.Facile

Che cosa fa ROLLBACK in una transazione?

  1. AAnnulla le modifiche fatte dall'inizio della transazione
  2. BElimina la tabella
  3. CRipete l'ultima istruzione
  4. DSalva in modo permanente su disco tutte le modifiche della transazione
3.Facile

Che cosa fa COMMIT in una transazione?

  1. ABlocca l'intero database
  2. BCrea una nuova tabella
  3. CAnnulla tutte le modifiche fatte dall'inizio della transazione
  4. DRende permanenti tutte le modifiche della transazione
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. BGli indici clusterizzati usano troppa memoria
  3. CLe righe possono essere memorizzate fisicamente in un solo ordine
  4. DLo standard SQL vieta più di un indice per tabella
5.Media

Perché SELECT price * 2 AS double_price FROM t WHERE double_price > 10 fallisce nella maggior parte dei database?

  1. AWHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  2. BGli alias non possono contenere un trattino basso
  3. CL'aritmetica non è ammessa nell'elenco della SELECT
  4. DWHERE può confrontare solo colonne di testo
6.Media

Che cosa restituisce SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. AUn errore, perché CASE non è ammesso nella SELECT
  2. BIl numero di studenti promossi e bocciati
  3. COgni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  4. DSolo gli studenti promossi
7.Difficile

I punteggi sono 90, 90 e 80. Quali valori dà RANK() OVER (ORDER BY score DESC)?

  1. A1, 1, 3
  2. B1, 1, 2
  3. C2, 2, 3
  4. D1, 2, 3
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(*) ignora le righe con valori NULL
  4. DCOUNT(*) non è ammesso dopo un join

Soluzioni

  1. 1. C · ORDER BY salary DESC
  2. 2. A · Annulla le modifiche fatte dall'inizio della transazione
  3. 3. D · Rende permanenti tutte le modifiche della transazione
  4. 4. C · Le righe possono essere memorizzate fisicamente in un solo ordine
  5. 5. A · WHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  6. 6. C · Ogni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  7. 7. A · 1, 1, 3
  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.