У меня есть три таблицы: R, S и P.
Таблица R Соединяется с S через внешний ключ; там должна быть хотя бы одна запись в S, поэтому я могу ПРИСОЕДИНЯТЬСЯ:
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
Если в S нет записи, то я не получаю строк, это нормально.
Затем таблица S соединяется с P, где записи P могут присутствовать или не присутствовать и объединяться с S.
Так что я делаю
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
LEFT JOIN P ON (P.id = S.fkp)
Что, если бы я хотел, чтобы второе JOIN было привязано к S, а не к R, например, если Я мог бы использовать круглые скобки:
SELECT
*
FROM
R
JOIN (S ON (S.id = R.fks) JOIN P ON (P.id = S.fkp))
Или это уже естественное поведение декартова произведения между R, S и P?