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 rappresenta NULL in SQL?

  1. AUna stringa vuota
  2. BIl numero zero nelle colonne numeriche
  3. CUn booleano falso
  4. DUn valore mancante o sconosciuto
2.Facile

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

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

Che cosa fa COMMIT in una transazione?

  1. ACrea una nuova tabella
  2. BAnnulla tutte le modifiche fatte dall'inizio della transazione
  3. CRende permanenti tutte le modifiche della transazione
  4. DBlocca l'intero database
4.Media

Perché si creano indici sulle colonne?

  1. APer rendere più veloci inserimenti e aggiornamenti su quelle colonne
  2. BPer velocizzare ricerche e join su quelle colonne
  3. CPer impedire i valori NULL
  4. DPer risparmiare spazio su disco
5.Media

Quale affermazione su HAVING è corretta?

  1. APuò usare funzioni di aggregazione per filtrare i gruppi
  2. BDeve precedere WHERE nell'istruzione SELECT
  3. COrdina i risultati
  4. DNon può essere usata con GROUP BY
6.Media

Che cos'è un trigger di database?

  1. AUn backup programmato del database
  2. BUn tipo di indice che velocizza le ricerche
  3. CUna query che un utente esegue a mano
  4. DCodice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
7.Difficile

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

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

La query FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' esclude inaspettatamente i clienti senza ordini. Perché?

  1. ALEFT JOIN non mantiene mai le righe senza corrispondenza
  2. BLa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  3. Cstatus è una parola riservata
  4. DIl join dovrebbe usare USING invece di ON

Soluzioni

  1. 1. D · Un valore mancante o sconosciuto
  2. 2. C · Mantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  3. 3. C · Rende permanenti tutte le modifiche della transazione
  4. 4. B · Per velocizzare ricerche e join su quelle colonne
  5. 5. A · Può usare funzioni di aggregazione per filtrare i gruppi
  6. 6. D · Codice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  7. 7. D · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. B · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join

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