ЛЕВЫЙ НАРУЖНЫЙ ПРИСОЕДИНЯЙТЕСЬ, КОГДА ЭТО НЕСКОЛЬКО ТАБЛИЦ ВЫБИРАЕТ

В настоящее время я объединил две таблицы, используя внутреннее соединение, например

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 (+)
Другие вопросы по тегам