Faire un JOIN entre des tables liées par une clé étrangère
Joignons ces deux tables pour pousser l'analyse plus loin !
Vous connaissez peut-être déjà le fonctionnement des jointures SQL grâce au cours Intro to SQL for Data Science (dernier exercice) ou à Joining Data in PostgreSQL.
Voici un bref rappel sur le fonctionnement général des jointures :
SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...
Même si les clés étrangères et les clés primaires ne sont pas strictement nécessaires pour effectuer des jointures, elles aident beaucoup en clarifiant à quoi vous attendre. Par exemple, vous pouvez être certain que les enregistrements référencés depuis la table A seront toujours présents dans la table B — donc une jointure à partir de la table A trouvera toujours quelque chose dans la table B. Sinon, la contrainte de clé étrangère serait enfreinte.
Cette activité fait partie du cours
Introduction aux bases de données relationnelles en SQL
Instructions de l’exercice
- Faites un
JOINdeprofessorsavecuniversitiessurprofessors.university_id = universities.id, c'est-à-dire conservez tous les enregistrements où la clé étrangère deprofessorsest égale à la clé primaire deuniversities. - Filtrez pour
university_city = 'Zurich'.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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 = ___;