Vragen deel5 inner joins antwoorden

advertisement
Vragen deel 5 inner joins
Vraag 1.
Met behulp van welk SQL commando laat je het Cartesisch product zien van de tabellen
winkel en stad_winkel?
SELECT count(*)
FROM winkel, stad_winkel
Vraag 2.
Hoeveel winkels (ketens, dus geen filialen) staan er in de stad Amersfoort.
SELECT naam, count(aantal_filialen)
FROM stad, stad_winkel
WHERE
stad.stad_id = stad_winkel.stad_id AND
stad.naam = 'Amersfoort'
Vraag 3.
De opdrachtgever vraagt aan jou een lijst per winkel per stad te maken. Welk SQL statement
hoort bij deze vraag.
SELECT winkel.winkel_naam, stad.naam
FROM stad_winkel, stad, winkel
WHERE
stad.stad_id = stad_winkel.stad_id AND
stad_winkel.winkel_id = winkel.winkel_id
ORDER BY winkel.winkel_naam, stad.naam
Vraag 4.
Presenteer een complete lijst van steden, winkels, aantal filialen.
SELECT stad.naam, stad.populatie, winkel.winkel_naam, stad_winkel.aantal_filialen
FROM stad_winkel, stad, winkel
WHERE
stad_winkel.winkel_id = winkel.winkel_id AND
stad.stad_id = stad_winkel.stad_id
Extra:
Vraag 5.
Men wil de kolomnaam “naam” veranderen in “plaatsnaam” van het volgende SQL
commando:
SELECT naam
FROM stad.
Wat is daarvoor het juiste SQL commando?
SELECT naam AS 'plaatsnaam'
FROM stad
-1-
Vraag 6.
Je wilt een lijst opvragen met alle steden en het aantal inwoners waar een filiaal van Lidl
staat. De lijst moet aflopende gesorteerd zijn. Welk SQL statement gebruik je?
SELECT stad.naam, populatie
FROM stad_winkel, stad, winkel
WHERE
stad_winkel.winkel_id = winkel.winkel_id AND
stad.stad_id = stad_winkel.stad_id AND
stad_winkel.winkel_naam = 'Lidl'
ORDER BY stad.naam DESC
Vraag 7.
Schrijf hieronder de uitkomst op van de volgende SQL query:
SELECT s.naam, w.winkel_naam
FROM stad_winkel, stad AS s, winkel AS w
WHERE
stad_winkel.winkel_id = w.winkel_id AND
s.stad_id = stad_winkel.stad_id AND
s.naam = 'Amersfoort'
ORDER BY w.winkel_naam ASC
naam
Amersfoort
Amersfoort
winkel_naam
Albert Heijn
Hans textiel
Vraag 8.
Om een lijst op te vragen van het aantal winkels per stad gebruik je het SQL statement?.
SELECT stad.naam, count(stad_winkel.aantal_filialen)
FROM stad_winkel, stad
WHERE stad.stad_id = stad_winkel.stad_id
GROUP BY stad.naam
-2-
SQL
Tabel: stad, winkel en stad_winkel
Tabel: stad
stad_id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
naam
Deventer
Alkmaar
Almere
Amersfoort
Amsterdam
Apeldoorn
Arnhem
Breda
Delft
Dordrecht
Eindhoven
Enschede
Groningen
Den Haag
Haarlem
Heerlen
Leiden
Maastricht
Nijmegen
Rotterdam
Tilburg
Utrecht
Zoetermeer
Zwolle
populatie
129170
92713
142465
126270
731200
153491
138020
160398
95268
119811
201843
149544
172701
440900
148772
95052
117196
122087
152463
593321
193238
234323
110214
105819
Tabel: winkel
winkel_id
ah
ht
ju
li
pm
ze
Winkel_naam
Albert Heijn
Hans Textiel
Jumbo
Lidl
Plus markt
Zeeman
-3-
SQL
Tabel: stad, winkel en stad_winkel
Tabel: stad_winkel
stad_id
1
1
1
2
3
4
4
5
6
6
6
6
6
7
10
10
11
12
12
13
14
15
19
20
20
20
20
20
20
21
22
23
24
24
24
winkel_id
ah
ju
li
pm
ze
ah
ht
ju
ah
ht
li
pm
ze
ju
li
pm
ze
ah
ht
ju
li
pm
ze
ah
ht
ju
li
pm
ze
ht
ah
ju
li
pm
ze
Aantal_filialen
1
4
3
5
2
4
1
3
3
4
5
2
1
5
2
1
4
5
3
2
1
4
3
2
5
1
4
3
5
2
1
4
3
5
2
-4-
Download