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 istruzione SQL recupera i dati da una tabella?

  1. ASELECT
  2. BUPDATE
  3. CINSERT
  4. DCREATE
2.Facile

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

  1. ACHECK NULL
  2. BDEFAULT
  3. CNOT NULL
  4. DUNIQUE
3.Facile

Quale parola chiave SQL elimina le righe duplicate da un risultato?

  1. ADISTINCT
  2. BUNIQUE
  3. CDIFFERENT
  4. DSINGLE
4.Media

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

  1. ALe righe possono essere memorizzate fisicamente in un solo ordine
  2. BGli indici clusterizzati possono essere definiti solo sulla chiave primaria
  3. CGli indici clusterizzati usano troppa memoria
  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 può confrontare solo colonne di testo
  2. BL'aritmetica non è ammessa nell'elenco della SELECT
  3. CGli alias non possono contenere un trattino basso
  4. DWHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
6.Media

Che cosa restituisce SELECT SUM(amount) FROM orders quando la clausola WHERE non corrisponde ad alcuna riga?

  1. A0
  2. BUna stringa vuota
  3. CNULL
  4. DUn errore
7.Difficile

Una subquery correlata è una subquery che:

  1. AUsa solo funzioni di aggregazione
  2. BViene eseguita una sola volta prima della query esterna e il risultato viene memorizzato per ogni riga
  3. CUnisce due tabelle tramite una chiave esterna
  4. DFa riferimento a colonne della query esterna e viene valutata per ogni riga esterna
8.Difficile

Una tabella ha un milione di righe e una colonna booleana is_active che è TRUE per il 95% di esse. Perché l'ottimizzatore potrebbe ignorare un indice su is_active per WHERE is_active = TRUE?

  1. ALa maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
  2. BL'indice tratta TRUE come NULL
  3. CL'ottimizzatore non usa mai gli indici nelle clausole WHERE
  4. DNon si possono creare indici su colonne booleane

Soluzioni

  1. 1. A · SELECT
  2. 2. C · NOT NULL
  3. 3. A · DISTINCT
  4. 4. A · Le righe possono essere memorizzate fisicamente in un solo ordine
  5. 5. D · WHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  6. 6. C · NULL
  7. 7. D · Fa riferimento a colonne della query esterna e viene valutata per ogni riga esterna
  8. 8. A · La maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice

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