Werkblad Databases & SQL met antwoorden

Gratis printbaar werkblad Databases & SQL: 8 opgaven van makkelijk tot tentamenniveau, met antwoordenblad. Print het of sla het op als pdf.

Nieuw werkbladOnline oefenen met hints

Voor docenten: gratis te printen, kopiëren en in de les te gebruiken. Elk nieuw werkblad heeft nieuwe waarden en een eigen antwoordblad. Een link naar ExamProblems op je cursuspagina wordt gewaardeerd.

Naam: ____________________   Datum: ____________

1.Makkelijk

Een INNER JOIN geeft:

  1. AAlleen rijen met overeenkomende waarden in beide tabellen
  2. BAlle rijen uit de linkertabel, met NULL waar er geen overeenkomst is
  3. CAlle rijen uit beide tabellen
  4. DRijen die niet overeenkomen
2.Makkelijk

Waar staat het jokerteken _ (underscore) voor in een LIKE-patroon?

  1. ANul of meer tekens
  2. BEen willekeurige letter, maar geen cijfers
  3. CPrecies één teken
  4. DEen spatie
3.Makkelijk

Welke instructie voegt een nieuwe kolom toe aan een bestaande tabel?

  1. ACREATE COLUMN
  2. BUPDATE TABLE
  3. CALTER TABLE
  4. DINSERT COLUMN
4.Gemiddeld

Welke bewering over HAVING is juist?

  1. AHet kan aggregatiefuncties gebruiken om groepen te filteren
  2. BHet sorteert de resultaten
  3. CHet moet in de SELECT-instructie vóór WHERE staan
  4. DHet kan niet samen met GROUP BY worden gebruikt
5.Gemiddeld

Welke query geeft het aantal verschillende steden in de tabel customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT COUNT(DISTINCT city) FROM customers
  3. CSELECT SUM(DISTINCT city) FROM customers
  4. DSELECT DISTINCT COUNT(city) FROM customers
6.Gemiddeld

Een tabel heeft rijen waarin col NULL is. Welke rijen geeft WHERE col = NULL terug?

  1. AAlleen de rijen waarin col NULL is, net als bij IS NULL
  2. BAlle rijen van de tabel
  3. CEen fout in elke database
  4. DGeen rijen, omdat de vergelijking onbekend (UNKNOWN) is
7.Moeilijk

De tabel employee(emp_id, dept_id, dept_name) heeft de sleutel emp_id, en dept_id → dept_name. Welke uitspraak is juist?

  1. AZe staat niet in 1NF
  2. BZe staat in 2NF maar niet in 3NF
  3. CZe staat niet in 2NF
  4. DZe staat in BCNF en dus ook in 3NF
8.Moeilijk

Een tabel heeft een miljoen rijen en een Booleaanse kolom is_active die voor 95% ervan TRUE is. Waarom kan de optimizer een index op is_active negeren voor WHERE is_active = TRUE?

  1. ADe optimizer gebruikt nooit indexen in WHERE-clausules
  2. BTRUE wordt door de index als NULL behandeld
  3. COp Booleaanse kolommen kunnen geen indexen worden gemaakt
  4. DDe meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups

Antwoordenblad

  1. 1. A · Alleen rijen met overeenkomende waarden in beide tabellen
  2. 2. C · Precies één teken
  3. 3. C · ALTER TABLE
  4. 4. A · Het kan aggregatiefuncties gebruiken om groepen te filteren
  5. 5. B · SELECT COUNT(DISTINCT city) FROM customers
  6. 6. D · Geen rijen, omdat de vergelijking onbekend (UNKNOWN) is
  7. 7. B · Ze staat in 2NF maar niet in 3NF
  8. 8. D · De meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups

Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.