Tabels JOIN'en die gekoppeld zijn met een foreign key
Laten we deze twee tabellen joinen om de data verder te analyseren!
Waarschijnlijk weet je al hoe SQL-joins werken uit de cursus Intro to SQL for Data Science (laatste oefening) of uit Joining Data in PostgreSQL.
Hier is een korte opfrisser van hoe joins meestal werken:
SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...
Hoewel foreign keys en primary keys niet strikt nodig zijn voor join-queries, helpen ze enorm doordat ze aangeven wat je kunt verwachten. Zo weet je bijvoorbeeld zeker dat records waarnaar vanuit tabel A wordt verwezen, altijd aanwezig zijn in tabel B — een join vanuit tabel A zal dus altijd iets vinden in tabel B. Zo niet, dan zou de foreign key-constraint worden geschonden.
Deze oefening maakt deel uit van de cursus
Introductie tot relationele databases in SQL
Oefeninstructies
- Voer een
JOINuit tussenprofessorsenuniversitiesopprofessors.university_id = universities.id, dus behoud alle records waarbij de foreign key vanprofessorsgelijk is aan de primary key vanuniversities. - Filter op
university_city = 'Zurich'.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- Select all professors working for universities in the city of Zurich
SELECT professors.lastname, universities.id, universities.university_city
___ professors
___ ___
ON ___.university_id = universities.___
___ universities.university_city = ___;