ЛЕВЫЙ НАРУЖНЫЙ ПРИСОЕДИНЯЙТЕСЬ, КОГДА ЭТО НЕСКОЛЬКО ТАБЛИЦ ВЫБИРАЕТ
В настоящее время я объединил две таблицы, используя внутреннее соединение, например
SELECT A.*,B.*
FROM A,B
WHERE A.COLUMN_A = B.COLUMN_B
Теперь я хочу присоединиться к левому внешнему соединению с приведенными выше результатами, скажем, я хочу присоединиться к таблице C
Так что мне понравилось
SELECT A.*,B.*
FROM A,B
LEFT OUTER JOIN C ON B.COLUMN_X = C.COLUMN_X
WHERE A.COLUMN_A = B.COLUMN_B
это выполняется без ошибок в SQL-навигаторе, но в этом результате я не вижу никакого вывода.
что-то не так в этом запросе, пожалуйста, сообщите
2 ответа
Измените его, чтобы иметь правильный синтаксис соединения, например
SELECT A.*,B.*
FROM A
INNER JOIN B ON A.COLUMN_A = B.COLUMN_B
LEFT OUTER JOIN C ON B.COLUMN_X = C.COLUMN_X;
Лучше поменяй все на внешнее соединение
SELECT A.*,B.*
FROM A
LEFT JOIN B ON A.COLUMN_A = B.COLUMN_B
LEFT OUTER JOIN C ON B.COLUMN_X = C.COLUMN_X;
Использовать этот
SELECT A.*,B.*,C.*
FROM A
INNER JOIN B
ON A.COLUMN_A = B.COLUMN_B
LEFT OUTER JOIN C
ON B.COLUMN_X = C.COLUMN_X
Если вам абсолютно необходимо использовать устаревший синтаксис, используйте это. Но я не буду рекомендовать это.
SELECT A.*,B.*,C.*
FROM A,B,C
where A.COLUMN_A = B.COLUMN_B
AND
B.COLUMN_X = C.COLUMN_X (+)