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

Quale parola chiave ordina il risultato di una query?

  1. ASORT
  2. BARRANGE
  3. CGROUP BY
  4. DORDER BY
2.Facile

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

  1. AFIRST 10 ONLY
  2. BTOP ROWS 10
  3. CMAX 10
  4. DLIMIT 10
3.Facile

Quale funzione di aggregazione restituisce la media di una colonna numerica?

  1. AAVG
  2. BMEDIAN
  3. CSUM
  4. DMEAN
4.Media

Una tabella ha righe in cui col è NULL. Quali righe restituisce WHERE col = NULL?

  1. ATutte le righe della tabella
  2. BUn errore in qualsiasi database
  3. CNessuna riga, perché il confronto è sconosciuto
  4. DSolo le righe in cui col è NULL, come con IS NULL
5.Media

Che cosa fornisce una common table expression (WITH name AS (...))?

  1. AUn nuovo utente del database
  2. BUn risultato temporaneo con un nome che si può usare all'interno di un'istruzione
  3. CUn indice su una colonna
  4. DUna tabella permanente che resta memorizzata su disco finché non viene eliminata
6.Media

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

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

Perché SELECT dept, name, COUNT(*) FROM emp GROUP BY dept non è valida nello standard SQL?

  1. Aname non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo
  2. BCOUNT(*) non si può usare insieme a GROUP BY
  3. CGROUP BY deve elencare tutte le colonne della tabella
  4. Ddept deve comparire dentro una funzione di aggregazione
8.Difficile

La transazione T1 blocca la riga A e attende la riga B, mentre T2 blocca la riga B e attende la riga A. Che cosa fa un tipico DBMS?

  1. ALascia entrambe le transazioni in attesa finché una delle due non esegue il commit normalmente
  2. BRileva il deadlock e interrompe una transazione scelta come vittima
  3. CFonde le due transazioni in una sola
  4. DConferma entrambe le transazioni contemporaneamente

Soluzioni

  1. 1. D · ORDER BY
  2. 2. D · LIMIT 10
  3. 3. A · AVG
  4. 4. C · Nessuna riga, perché il confronto è sconosciuto
  5. 5. B · Un risultato temporaneo con un nome che si può usare all'interno di un'istruzione
  6. 6. B · WHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  7. 7. A · name non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo
  8. 8. B · Rileva il deadlock e interrompe una transazione scelta come vittima

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