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

Welke aggregatiefunctie geeft het gemiddelde van een numerieke kolom?

  1. AAVG
  2. BSUM
  3. CMEDIAN
  4. DMEAN
2.Makkelijk

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

  1. ACREATE COLUMN
  2. BALTER TABLE
  3. CUPDATE TABLE
  4. DINSERT COLUMN
3.Makkelijk

Wat doet GROUP BY in een query?

  1. AVerwijdert rijen met NULL-waarden
  2. BZet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
  3. CSorteert de rijen van het resultaat alfabetisch
  4. DKoppelt twee tabellen op hun gemeenschappelijke kolommen
4.Gemiddeld

De tabel orders heeft 5 rijen, die elk naar een bestaande klant verwijzen. De tabel customers heeft 3 rijen. Hoeveel rijen geeft een INNER JOIN op customer_id terug?

  1. A5
  2. B3
  3. C15
  4. D8
5.Gemiddeld

Waarom mislukt SELECT price * 2 AS double_price FROM t WHERE double_price > 10 in de meeste databases?

  1. AWHERE wordt vóór de SELECT-lijst geëvalueerd, dus de alias bestaat nog niet
  2. BAliassen mogen geen underscore bevatten
  3. CWHERE kan alleen tekstkolommen vergelijken
  4. DRekenen is niet toegestaan in de SELECT-lijst
6.Gemiddeld

Welke query toont klanten die nooit een bestelling hebben geplaatst?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Moeilijk

Wat berekent SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AEén rij per dag met alleen het totaal van die dag
  2. BHet gemiddelde bedrag per dag
  3. CEen lopend totaal van amount, geordend op day
  4. DHet totaal van alle bedragen op elke rij
8.Moeilijk

Wat vereist de regel van write-ahead logging (WAL)?

  1. ADatapagina's moeten vóór de log worden geschreven
  2. BHet logrecord van een wijziging moet stabiele opslag bereiken vóór de gewijzigde datapagina
  3. CElke query moet worden gelogd voordat hij wordt geparst
  4. DDe log wordt pas na een crash geschreven

Antwoordenblad

  1. 1. A · AVG
  2. 2. B · ALTER TABLE
  3. 3. B · Zet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
  4. 4. A · 5
  5. 5. A · WHERE wordt vóór de SELECT-lijst geëvalueerd, dus de alias bestaat nog niet
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Een lopend totaal van amount, geordend op day
  8. 8. B · Het logrecord van een wijziging moet stabiele opslag bereiken vóór de gewijzigde datapagina

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