JOIN таблиць, пов'язаних зовнішнім ключем
Долучімо ці дві таблиці, щоб проаналізувати дані детальніше!
Можливо, ви вже знаєте, як працюють об'єднання в SQL, із курсу Intro to SQL for Data Science (остання вправа) або з Joining Data in PostgreSQL.
Коротке нагадування про загальний принцип роботи об'єднань:
SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...
Хоч зовнішні та первинні ключі не є строго необхідними для JOIN-запитів, вони дуже допомагають, бо підказують, чого очікувати. Наприклад, ви можете бути певні, що записи, на які є посилання з таблиці A, завжди існують у таблиці B, — тож об'єднання з таблиці A завжди щось знайде в таблиці B. Інакше було б порушено обмеження зовнішнього ключа.
Ця вправа є частиною курсу
Вступ до реляційних баз даних у SQL
Інструкції до вправи
- Виконайте
JOINтаблицьprofessorsтаuniversitiesза умовоюprofessors.university_id = universities.id, тобто залиште всі записи, де зовнішній ключ таблиціprofessorsдорівнює первинному ключуuniversities. - Відфільтруйте за
university_city = 'Zurich'.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- 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 = ___;