Хотя присоединение PK к FK действительно типично, любой разговор о JOIN
предложениях, которые вращаются только вокруг PK и FK, довольно ограничен
Например, у меня было это FROM
предложение в недавнем SQL ответе , которое я дал
FROM
YourTable firstNames
LEFT JOIN YourTable lastNames
ON firstnames.Name = lastNames.Name
AND lastNames.NameType =2
and firstnames.FrequencyPercent < lastNames.FrequencyPercent
Таблица, на которую ссылаются с каждой стороны таблицы, является одной и той же таблицей (самостоятельное соединение) и включает три условия, одно из которых является неравенством. Более того, здесь никогда не будет ФК, потому что он хочет присоединиться к полю, то есть по замыслу, а не как ключ-кандидат.
Также вам даже не нужно соединять один стол с другим. Вы можете объединять встроенные запросы друг с другом, которые, конечно, не могут иметь Ключ.
Итак, чтобы правильно понять JOIN
, вам просто нужно понять, что он объединяет записи из двух отношений (таблиц, представлений, встроенных запросов), где некоторые условия оцениваются как истинные. Это означает, что вам необходимо понимать логическую логику, базу данных и данные в базе данных.
Если у вашего пользователя есть проблема с определенным JOIN, попросите его выбрать несколько строк из одной таблицы, а также из другой, а затем спросите их, при каких условиях вы хотите объединить строки.