Spoj tabulky propojené cizím klíčem
Pojďme tyto dvě tabulky spojit a data dále analyzovat!
Možná už víš, jak fungují SQL joiny z kurzu Intro to SQL for Data Science (poslední cvičení) nebo z kurzu Joining Data in PostgreSQL.
Tady je stručné připomenutí, jak joiny obecně fungují:
SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...
Cizí klíče a primární klíče sice nejsou pro join dotazy striktně nutné, ale výrazně pomáhají – říkají ti, co můžeš očekávat. Můžeš si být například jistý/á, že záznamy odkazované z tabulky A budou vždy přítomné v tabulce B, takže join z tabulky A vždy něco najde. Kdyby tomu tak nebylo, byla by porušena podmínka cizího klíče.
Toto cvičení je součástí kurzu
Introduction to Relational Databases in SQL
Pokyny k cvičení
- Spoj
professorssuniversitiespomocíprofessors.university_id = universities.id, tedy ponech pouze záznamy, kde se cizí klíč tabulkyprofessorsrovná primárnímu klíči tabulkyuniversities. - Filtruj záznamy, kde
university_city = 'Zurich'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- 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 = ___;