Oracle: ВЫБЕРИТЕ * ИЗ tablea a, tableb b, ГДЕ a.fielda( )=b.fieldb — что такое ( )?

#sql #oracle

#sql #Oracle

Вопрос:

Я не могу понять, какова роль ( )! (Я «унаследовал» инструкцию через процесс автоматического обновления приложения, которое я поддерживаю в данный момент).

Это какой-то специфичный для Oracle оператор? Есть ли у него специальное имя, которое я могу искать? Довольно сложно найти в Google знак плюс в скобках 🙂

Ответ №1:

это оператор внешнего соединения (старой школы).

Комментарии:

1. То есть это эквивалент ВЫБОРА * ИЗ tablea ВНЕШНЕГО СОЕДИНЕНИЯ tableb b С a.fielda=b.fieldb ?

2. «ГДЕ t1.col1 = t2.col2( )» эквивалентно «t1 присоединяется к t2 слева на t1.col1 = t2.col2»

3. @Cristina — это эквивалентно LEFT OUTER JOIN <table> ON (...) . dba-oracle.com/tips_oracle_left_outer_join.htm

4. И да, насколько я знаю, это зависит от Oracle.

5. @Cristina. Нет проблем! Я согласен с DCookie — это специфичный для Oracle AFAIK.