Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 В Чем разница двух селектов?...  [new]
dmdx
Member

Откуда: Moscow
Сообщений: 191
Доброго времени суток! Собраться.

Решил тут воспользоваться SQL-Модельер в Жабе. и вот что обнаружил sql запрос строит как-то по другому, непривычно. хотел узнать чем отличаются эти два запроса. может в производительности?

свой селект:
select acc.label, acc.opened,acc.closed,bl.amount from account acc
join balance bl on acc.classified=bl.account;

селект сгенерированный программой:
SELECT ACCOUNT.label, ACCOUNT.opened, ACCOUNT.closed, balance.amount
FROM ACCOUNT, balance
WHERE ((ACCOUNT.classified = balance.ACCOUNT))
29 окт 07, 15:57    [4851745]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
dmdx
Доброго времени суток! Собраться.

Решил тут воспользоваться SQL-Модельер в Жабе. и вот что обнаружил sql запрос строит как-то по другому, непривычно. хотел узнать чем отличаются эти два запроса. может в производительности?

свой селект:
select acc.label, acc.opened,acc.closed,bl.amount from account acc
join balance bl on acc.classified=bl.account;

селект сгенерированный программой:
SELECT ACCOUNT.label, ACCOUNT.opened, ACCOUNT.closed, balance.amount
  FROM ACCOUNT, balance
 WHERE ((ACCOUNT.classified = balance.ACCOUNT))

При оформлении кода используйте, пожалуйста, тег SRC данного форума.
Этим вы повысите свои шансы на получение ответа.
29 окт 07, 16:00    [4851766]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
Elic
Member

Откуда:
Сообщений: 29976
dmdx
чем отличаются эти два запроса
RTFM Joins (FAQ)
29 окт 07, 16:06    [4851800]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
dmdx
Member

Откуда: Moscow
Сообщений: 191
Elic
dmdx
чем отличаются эти два запроса
RTFM Joins (FAQ)


да это понятно что jion позволяет комбинировать селект из нескольких таблиц. Я хотел узнать есть ли существенное отличие? или нет! Возможно это просто одно и тоже только в другом виде представленно.
29 окт 07, 16:15    [4851870]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
NightGhost
Member

Откуда:
Сообщений: 629
Стандарт AnSI
позволяет кроме более наглядного пердставления выполнять одну доп функцию
FULL OUTER JOIN, которую посложнее будет получить вторым способом.
а если по поводу указанных запросов то думаю у них планы одинаковы
поэтому разницы мало
29 окт 07, 16:19    [4851904]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
dmdx
Member

Откуда: Moscow
Сообщений: 191
NightGhost
Стандарт AnSI
позволяет кроме более наглядного пердставления выполнять одну доп функцию
FULL OUTER JOIN, которую посложнее будет получить вторым способом.
а если по поводу указанных запросов то думаю у них планы одинаковы
поэтому разницы мало


Спасибо. В общем понятно, если делать выборки из 3-х, 4-х,... таблиц отсобождает от записи left join и для восприятия полегче...
29 окт 07, 16:21    [4851927]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
dmdx
отсобождает от записи left join и для восприятия полегче...

Освобождает от записи inner join и части вариантов left/right (есть варианты открытых соединений, сложно реализуемые "на запятой")
29 окт 07, 16:43    [4852082]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
stax..
Guest
dmdx
NightGhost
Стандарт AnSI
позволяет кроме более наглядного пердставления выполнять одну доп функцию
FULL OUTER JOIN, которую посложнее будет получить вторым способом.
а если по поводу указанных запросов то думаю у них планы одинаковы
поэтому разницы мало


Спасибо. В общем понятно, если делать выборки из 3-х, 4-х,... таблиц отсобождает от записи left join и для восприятия полегче...

имхо
не отсобождает от записи left join
.....
stax
29 окт 07, 17:50    [4852573]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
Zloxa
Member

Откуда: СССР ☭
Сообщений: 1033
NightGhost
Стандарт AnSI
позволяет кроме более наглядного пердставления выполнять одну доп функцию
FULL OUTER JOIN

Отнюдь не одну.
Вот например:
SQL> with a as (select level a_val from dual connect by level < 5)
  2       ,b as (select level + 2 b_val  from dual connect by level < 3)
  3  select *
  4  from a
  5  left join b on a_val = 2
  6  ;
 
     A_VAL      B_VAL
---------- ----------
         1 
         2          3
         2          4
         3 
         4 
 
SQL> 
29 окт 07, 17:54    [4852611]     Ответить | Цитировать Сообщить модератору
 Re: В Чем разница двух селектов?...  [new]
stax..
Guest
NightGhost
Стандарт AnSI
позволяет кроме более наглядного пердставления выполнять одну доп функцию
FULL OUTER JOIN, которую посложнее будет получить вторым способом.
а если по поводу указанных запросов то думаю у них планы одинаковы
поэтому разницы мало

FULL OUTER JOIN в девятке?

поиск даже по етому форому даст негативную рекомендацию
.....
stax
29 окт 07, 17:59    [4852644]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить