Обновить

Комментарии 7

Так как же база данных поймет, какую строчку из первой таблицы соединить с какой строчкой из второй? А для этого у нас как раз есть внешние ключи!

Для этого у нас есть условие соединения, записанное после ON. И оно может работать как по внешним ключам, так и по любым другим условиям, включающим или не включающим уникальные идентификаторы строк. А может и вообще без условий работать, формируя полное декартово произведение таблиц.

Очень понятно написано, спасибо!

Написано свежо, без нейро-шаблонов, что уже круто. Да и всё понятно, а что непонятно – разжевано так, чтобы было понятно. Даже вопросов никаких нет. В вузе проходил, но забыл - а тут всё рядом, всё логично оказывается

И именно благодаря внешним ключам в SQL возможны JOIN-ы.

Того, кто объяснит, почему это чушь, позову на собеседование на Data engineer (увы, Москва и офис).

Так а что объяснять? Ключи просто гарантируют корректность операции, а так можно вообще к любым столбцам в таблице применять, главное чтобы одного типа были

И тип неважен. JOIN - это декартово произведение с условием отбора. И условие может быть любым, а не только равенством двух столбцов. Ничто не мешает записать, например ON LENGTH(table1.name) = table2.len.

Ключи просто гарантируют корректность операции

Какой именно операции?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации