Subselects en views - Kiezen uit alternatieven

4 belangrijke vragen over Subselects en views - Kiezen uit alternatieven

Wat is de kracht van een join?


De kracht van een join is dat je er
een ‘grote virtuele tabel’ mee creëert, waar je gegevens uit meerdere
databasetabellen uit kunt selecteren, al dan niet statistisch van aard.

Waar moet je bij de volgende query de conditie 'is voldoende' zetten en hoe? Waarom?


select S.nr, S.naam, Sum(C.credits) aantal_credits
from Student S
left outer join Inschrijving I on S.nr = I.student
join Cursus C on I.cursus = C.code
group by S.nr, S.naam;


Bij de join, anders raak je studenten kwijt.

select S.nr, S.naam, Sum(C.credits) aantal_credits
from Student S
left outer join Inschrijving I on S.nr = I.student
and I.cijfer >= 6
join Cursus C on I.cursus = C.code
group by S.nr, S.naam;

Wat is het voordeel van een join aanpak? Wat zijn nadleen?


Een voordeel van de joinaanpak is dat hij tot snelle query’s leidt. De join
kan over het algemeen uitstekend worden geoptimaliseerd. Dit is echter
alleen van belang bij zeer grote tabellen.


Nadelen zijn dat zij lastig zijn te
documenteren en al gauw leiden tot technische tekortkomingen, zoals we
zagen bij de verschillende pogingen
  • Hogere cijfers + sneller leren
  • Niets twee keer studeren
  • 100% zeker alles onthouden
Ontdek Study Smart

Mengvorm van subselect en jino aanpak


Mengvormen
Naast deze ‘uitersten’ is ook een mengvorm mogelijk van stapsgewijze
verfijning en de joinaanpak.
We kunnen beginnen met stap 1 en dan alsnog overstappen op een join
binnen de subselect. Als volgt:
select nr, naam, (select sum(C.credits)
from Cursus C
join Inschrijving I on C.code = I.cursus
where I.student = S.nr
and I.cijfer >= 6)
from Student S;
Merk op dat ook hier stap 1 volledig intact blijft.
Ook deze oplossing kunnen we helemaal netjes maken, met een coalesce -
functie en een kolomalias voor de subselect.

De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:

  • Een unieke studie- en oefentool
  • Nooit meer iets twee keer studeren
  • Haal de cijfers waar je op hoopt
  • 100% zeker alles onthouden
Onthoud sneller, leer beter. Wetenschappelijk bewezen.
Trustpilot-logo