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

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

  1. AZero o più caratteri
  2. BEsattamente un carattere
  3. CUn carattere di spazio
  4. DQualsiasi lettera ma nessuna cifra
2.Facile

Quale vincolo garantisce che una colonna non possa mai essere lasciata vuota (NULL)?

  1. AUNIQUE
  2. BDEFAULT
  3. CNOT NULL
  4. DCHECK NULL
3.Facile

Quale istruzione SQL aggiunge nuove righe a una tabella?

  1. ASELECT
  2. BALTER
  3. CINSERT
  4. DUPDATE
4.Media

Quale query restituisce il numero di ordini per cliente?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.Media

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

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

Perché una tabella può avere un solo indice clusterizzato (clustered index)?

  1. AGli indici clusterizzati usano troppa memoria
  2. BLo standard SQL vieta più di un indice per tabella
  3. CGli indici clusterizzati possono essere definiti solo sulla chiave primaria
  4. DLe righe possono essere memorizzate fisicamente in un solo ordine
7.Difficile

R(A, B, C, D) ha le dipendenze funzionali A → B e C → D. Qual è la chiave candidata?

  1. A{B, D}
  2. B{A, C}
  3. C{C}
  4. D{A}
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. ALa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  2. BLEFT JOIN non mantiene mai le righe senza corrispondenza
  3. CIl join dovrebbe usare USING invece di ON
  4. Dstatus è una parola riservata

Soluzioni

  1. 1. B · Esattamente un carattere
  2. 2. C · NOT NULL
  3. 3. C · INSERT
  4. 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. D · Un risultato temporaneo con un nome che si può usare all'interno di un'istruzione
  6. 6. D · Le righe possono essere memorizzate fisicamente in un solo ordine
  7. 7. B · {A, C}
  8. 8. A · 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.