Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1
  • 2

ТЕМА: oracle синтаксис select'a

oracle синтаксис select'a 22 янв 2012 11:11 #4208

  • Stivin
  • Stivin аватар Автор темы
  • Посетитель
  • Посетитель
SELECT   *
  FROM       DUAL d1
         JOIN
                 DUAL d2
             JOIN
                     DUAL d3
             ON d2.dummy = d3.dummy
         ON d2.dummy = d1.dummy;
Почему такой синтаксис возможен, однако в синтаксическую диаграмму он никак не вписывается?
Т.е. если верить диаграмме то после join должен обязательно идти on.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle синтаксис select'a 22 янв 2012 11:11 #4209

  • Ilfoer
  • Ilfoer аватар
  • Посетитель
  • Посетитель
в диаграмах не рисуют, но во многих конструкциях скобки можно опускать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle синтаксис select'a 22 янв 2012 11:12 #4210

  • Stivin
  • Stivin аватар Автор темы
  • Посетитель
  • Посетитель
я не умею читать синтаксические диаграммы?
Внимательно ведем пальчиком по этой диаграмме, выходим на table_reference, но это
DUAL d2
             JOIN
                     DUAL d3
             ON d2.dummy = d3.dummy
туда никак не вписывается.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle синтаксис select'a 22 янв 2012 11:13 #4211

  • Loldor
  • Loldor аватар
  • Посетитель
  • Посетитель
SQL> SELECT   *
  2    FROM       DUAL d1
  3           JOIN(
  4                   DUAL d2
  5               JOIN
  6                       DUAL d3
  7               ON d2.dummy = d3.dummy
  8              )
  9           ON d2.dummy = d1.dummy;
 
DUMMY DUMMY DUMMY
----- ----- -----
X     X     X


Однакож table_reference вроде не должен бы содержать Join, скобки как бы не причем

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle синтаксис select'a 22 янв 2012 11:14 #4212

  • Ilfoer
  • Ilfoer аватар
  • Посетитель
  • Посетитель

Stivin пишет: я не умею читать синтаксические диаграммы?
Внимательно ведем пальчиком по этой диаграмме, выходим на table_reference, но это

DUAL d2
             JOIN
                     DUAL d3
             ON d2.dummy = d3.dummy
туда никак не вписывается.

правильно. вы просто ведёте пальчиком не по той диаграмме. смотрите на одну диаграмму выше

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: oracle синтаксис select'a 22 янв 2012 11:15 #4213

  • WindilaS
  • WindilaS аватар
  • Посетитель
  • Посетитель
Выдержка из одно очень старого документа:

Format

<table reference> ::=
<table name> [ [ AS ] <correlation name>
[ <left paren> <derived column list> <right paren> ] ]
| <derived table> [ AS ] <correlation name>
[ <left paren> <derived column list> <right paren> ]
| <joined table>

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2