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 assegna in una query un nome alternativo temporaneo a una colonna o a una tabella?

  1. AAS
  2. BNAME
  3. CRENAME
  4. DALIAS
2.Facile

In un modello LIKE, che cosa rappresenta il carattere jolly _ (trattino basso)?

  1. AZero o più caratteri
  2. BUn carattere di spazio
  3. CQualsiasi lettera ma nessuna cifra
  4. DEsattamente un carattere
3.Facile

Che cosa rappresenta NULL in SQL?

  1. AIl numero zero nelle colonne numeriche
  2. BUn booleano falso
  3. CUna stringa vuota
  4. DUn valore mancante o sconosciuto
4.Media

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

  1. AOgni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  2. BIl numero di studenti promossi e bocciati
  3. CUn errore, perché CASE non è ammesso nella SELECT
  4. DSolo gli studenti promossi
5.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. CWHERE può confrontare solo colonne di testo
  4. DL'aritmetica non è ammessa nell'elenco della SELECT
6.Media

Quale proprietà ACID garantisce che le modifiche confermate sopravvivano a un crash del sistema?

  1. ADurabilità
  2. BAtomicità
  3. CCoerenza
  4. DIsolamento
7.Difficile

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

  1. ACOUNT(*) non è ammesso dopo un join
  2. BCOUNT(o.id) conta solo i clienti distinti
  3. CCOUNT(*) ignora le righe con valori NULL
  4. DCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
8.Difficile

Due transazioni leggono entrambe stock = 10, ciascuna sottrae 1 e scrive il risultato, ottenendo 9 invece di 8. Di quale anomalia si tratta?

  1. ALettura fantasma
  2. BAggiornamento perso (lost update)
  3. CAnomalia di cancellazione
  4. DLettura sporca

Soluzioni

  1. 1. A · AS
  2. 2. D · Esattamente un carattere
  3. 3. D · Un valore mancante o sconosciuto
  4. 4. A · Ogni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  5. 5. B · WHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  6. 6. A · Durabilità
  7. 7. D · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. B · Aggiornamento perso (lost update)

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