Antwoorden Inner en Outer Joins
(1)
SELECT p.naam product, a.naam artikel, aantal, prijs*aantal totaalprijs
FROM product p
INNER JOIN product_bestaat_uit k
on k.product_id=p.id
INNER JOIN artikel a
on a.id=k.artikel_id
(2)
SELECT p.naam, sum(prijs*aantal) totaalprijs
FROM product p
INNER JOIN product_bestaat_uit k
on k.product_id=p.id
INNER JOIN artikel a
on a.id=k.artikel_id
group by p.naam
(3)
SELECT p.naam, sum(aantal) aantal
FROM product p
INNER JOIN product_bestaat_uit k
on k.product_id=p.id
INNER JOIN artikel a
on a.id=k.artikel_id
group by p.naam
(4)
SELECT p.naam, a.naam, sum(aantal) aantal
FROM product p
INNER JOIN product_bestaat_uit k
on k.product_id=p.id
INNER JOIN artikel a
on a.id=k.artikel_id
group by p.naam, a.naam
(5)
SELECT p.naam, a.naam, sum(aantal) aantal
FROM product p
LEFT OUTER JOIN product_bestaat_uit k
on k.product_id=p.id
LEFT OUTER JOIN artikel a
on a.id=k.artikel_id
group by p.naam, a.naam
(6)
SELECT p.naam, a.naam, sum(aantal) aantal
FROM product p
LEFT OUTER JOIN product_bestaat_uit k
on k.product_id=p.id
LEFT OUTER JOIN artikel a
on a.id=k.artikel_id
where a.naam is NULL
group by p.naam, a.naam
(7)
SELECT p.naam, a.naam, sum(aantal) aantal
FROM product p
LEFT OUTER JOIN product_bestaat_uit k
on k.product_id=p.id
LEFT OUTER JOIN artikel a
on a.id=k.artikel_id
where a.naam is NULL and k.aantal is not NULL
group by p.naam, a.naam
(8)
onduidelijk
(9)
SELECT *
FROM artikel a
WHERE a.id not IN
(select product_bestaat_uit.artikel_id from product_bestaat_uit)
of
SELECT *
FROM artikel a
LEFT OUTER JOIN product_bestaat_uit
on product_bestaat_uit.artikel_id=a.id
WHERE product_bestaat_uit.product_id is NULL
(10)
SELECT p.naam product, a.naam artikel , sum(aantal) aantal
FROM product p
LEFT OUTER JOIN product_bestaat_uit k
on k.product_id=p.id
LEFT OUTER JOIN artikel a
on a.id=k.artikel_id
group by p.naam, a.naam
UNION
SELECT p.naam product, a.naam artikel, sum(aantal) aantal
FROM product p
RIGHT OUTER JOIN product_bestaat_uit k
on k.product_id=p.id
RIGHT OUTER JOIN artikel a
on a.id=k.artikel_id
group by p.naam, a.naam