aboutsummaryrefslogtreecommitdiff
path: root/opdracht-2/opdracht-2.m4
blob: 8ee122633e966479474050c03829982114b5b980 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
changequote(`{{', `}}')
include({{../common.m4}})

# Practicum 2

q_with_test(1)
q_with_test(2)

## Opdracht 3

![](img_erd.svg)
![](img_strokendiagram.svg)

q_with_output(4)
q_with_output(5)
q_with_test(6)
q_with_output(7)
q_with_test(8)
q_with_output(9)
q_with_output(10)
q_with_output(11)

Een union voegt de *rijen* van twee `select` statements samen, terwijl een join
tabel*kolommen* samenvoegt met behulp van overeenkomende waardes.

## Opdracht 12

`group by` haalt rijen weg afhankelijk van welke rijen de zelfde waardes hebben
in de doorgegeven kolommen.

## Opdracht 13

`having` werkt het zelfde als `where`, maar `where` filtert vòòr `group by`,
terwijl `having` ná `group by` filtert.

## Opdracht 14

Met subselects kun je het resultaat van een query gebruiken in een andere
query.

## Opdracht 15

Een view slaat het resultaat op van een uitgevoerde query, zodat deze later
gebruikt kan worden in andere query's. Het enige verschil tussen subselects en
views is dat bij subselects de subquery elke keer wordt uitgevoerd.

## Opdracht 16

Als je tijdens een transaction de database hebt aangepast, en je tevreden bent
over de aanpassingen gebruik je `commit`. Als je werkt op een live database is
het handig om te wachten met committen tot een gepland onderhoudsmoment zodat
gebruikers geen onverwachte uitvaltijd ervaren.

## Opdracht 17

Bij een enkelvoudige insert voeg je één rij toe aan een tabel, terwijl een
meervoudige insert meer dan één rij in een keer toe voegt.

## Opdracht 18

```sql
delete from <tabelnaam>;
```

Als je `delete from` geen `where` meegeeft verwijdert deze statement alle rijen
uit een tabel.