IN2090-ukesoppgaver: Uke 10
Ytre joins og mengdeoperatorer i SQL
Filmdatabasen
Bruk filmdatabasen for å løse følgende oppgaver.
Oppgave 1
Finn ut hvor mange produksjoner (altså alt som forekommer I
filmparticipation
-tabellen) hver person med etternavn
'Abbott'
har deltatt i (husk å få med de som har deltatt i
0
filmer). (243 rader)
Oppgave 2
Finn tittel på alle Western-filmer laget etter 2007 som ikke har en rating. (14 rader)
Løs oppgaven på ved å bruke:
NOT IN
LEFT OUTER JOIN
EXCEPT
NOT EXISTS
Oppgave 3
Finn antall filmer som enten er komedier, eller som Jim Carrey har spilt i. (1 rad)
Oppgave 4
Finn tittel på alle filmer som som Jim Carrey har spilt i, men som ikke er komedier. (62 rader)
Northwind
Bruk Northwind-databasen for å løse følgende oppgaver.
Oppgave 5
Finn navnet på alle firmaer (Customers og Suppliers) som kommer fra Norge eller Sverige. (6 rader)
Oppgave 6
Bruk EXISTS
for å finne navnet på alle kunder som har
kjøpt Pavlova. (31 rader)
Oppgave 7
Finn ut hvor mange kunder som befinner seg i samme land som hver leverandør (Supplier). Resultatet skal være to kolonner, en med leverandørnavnet, og en kolonne med antall kunder fra samme land. Sorter resultatet etter antall kunder I synkende rekkefølge. (29 rader)
Bonusoppgave
Oppgaven under er hentet fra boken Database Systems - The Complete Book, Second Edition (Garcia-Molina, Ullman, Widom).
Let a
and b
be integer-valued attributes
that may be NULL
in some tuples. For each of the following
conditions (as may appear in a WHERE
clause), describe
exactly the set of (a, b)
tuples that satisfy the
condition, including the case where a
and/or b
is NULL
.
a < 50 OR a >= 50
a = 0 OR b = 10
a = 20 AND b = 10
a = b
a > b