НачатьНачать бесплатно

Объединение таблиц, связанных внешним ключом

Давайте объединим эти две таблицы, чтобы глубже проанализировать данные!

Возможно, вы уже знакомы с тем, как работают объединения в SQL — из курса Intro to SQL for Data Science (последнее упражнение) или из курса Joining Data in PostgreSQL.

Вот краткое напоминание об общей структуре объединений:

SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...

Внешние и первичные ключи формально не обязательны для запросов с объединением, однако они очень помогают: по ним сразу понятно, чего ожидать от данных. Например, можно быть уверены, что записи, на которые ссылается таблица 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 = ___;
Редактировать и запускать код