Hvilken av følgende påstander om join-operasjoner er sann?
- A Resultatet av en INNER JOIN er alltid mindre enn eller lik størrelsen til den minste inputtabellen.
- B En FULL OUTER JOIN inneholder aldri NULL-verdier i resultatet.
- C En NATURAL JOIN matcher på attributter som har samme navn i de to tabellene.
- D Rekkefølgen vi skriver inner joins i, endrer det endelige resultatet.
Vis fasit
NATURAL JOIN bestemmer join-kolonnene implisitt ved å se på alle attributter som har samme navn i begge tabellene. Det er en bekvemmelighet — man slipper å skrive ON-predikatet — men kan også være en fallgruve hvis tabellene tilfeldigvis har en felles kolonne man ikke mente å joine på.
A er feil — INNER JOIN kan godt være større enn begge inputs (f.eks. en M:N-relasjon kan gi mange match per rad). B er feil per definisjon — FULL OUTER fyller på NULL der det ikke er match. D er feil — INNER JOIN er kommutativ og assosiativ i resultatmengde (rekkefølgen kan påvirke ytelsen i optimalisatoren, men ikke det logiske resultatet).
Pensum: Kap. 2 — Joins og outer joins