Легко понять, почему оставшиеся внешние объединения не являются коммутативными, но у меня возникают проблемы с пониманием того, являются ли они ассоциативными. Несколько онлайн-источников предполагают, что это не так, но мне не удалось убедить себя, что это так.
Предположим, что у нас есть три таблицы: A, B и C.
Пусть A содержит два столбца, идентификатор и B_ID, где ID - первичный ключ таблицы A, а B_ID - это внешний ключ, соответствующий первичному ключу таблицы B.
Пусть B содержит два столбца, идентификатор и C_ID, где ID - первичный ключ таблицы B, а C_ID - это внешний ключ, соответствующий первичному ключу таблицы C.
Пусть C содержит два столбца, идентификатор и VALUE, где ID является первичным ключом таблицы C, а значение VALUE содержит только некоторые значения.
Тогда не должно (A left outer join B) left outer join C
быть равно A left outer join (B left outer join C)
?