powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 11g, есть ли подвохи: употребление c- "(+)" и без-
19 сообщений из 19, страница 1 из 1
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363505
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, есть ли здесь подвохи (в смысле употребления aaa c "(+)" и без) ?
Код: plsql
1.
2.
3.
Select ...
   and aaa.a_id = A.id(+)   --при этом  FK {aaa.a_id} полностью входит в PK {A.id}
   and subp.subp_id = aaa.prod_id(+)   -- а здесь м.б. симметрическая разность



А то если у A.id(+) убрать (+), сужается выборка.
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363509
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,

Joins
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363536
Фотография Opus Magnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,

Мне казалось, что с Вашим количеством постов вопрос должен быть глубоким, но не могу найти смысла, кроме как непонимание того, зачем (+) нужен...
Или вопрос в производительности по сравнению с другими вариантами такого запроса?
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363549
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Opus Magnum,
left outer и rigrh outer джойны
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363551
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigth'
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363563
Фотография Opus Magnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,

Вы мне?
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363663
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Opus Magnum,

я вам
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363665
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по вашему вопросу про + -

ну чтобы уточнить)
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363668
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще точнее, по вашему вопросу из старттопика,

ну вы спрашивали про +, типо сужается выборка все такое
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363670
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Opus Magnum, все ааа , грубо говоря, содержатся в А .
если я не путаю, то
Код: plaintext
from ааа left outer A
аналогично
Код: plaintext
where ааа = A(+)

Если написать
Код: plaintext
ааа left outer A
или
Код: plaintext
aaa inner join A
кол-во строк не изменится, а уменя меняется. Или где я ошибаюсь?

Я и спросил, может ли влиять наличие одновременно одной таблицы и с (+), и без него
Код: plsql
1.
2.
3.
where  2=2
   and  ааа.aid = A.id     -- здесь ааа   без (+)   
   and  ... = aaa.prod_id(+)   --- а здесь ааа с (+)

Правда это далеко не весь запрос, но мне и здесь хватает глубины ...
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363672
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca, это я ТС
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363684
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,

Ты по ссылкам ходишь, что тебе дают?
If A and B are joined by multiple join conditions, then you must use the (+) operator in all of these conditions. If you do not, then Oracle Database will return only the rows resulting from a simple join, but without a warning or error to advise you that you do not have the results of an outer join.Это сложно для понимания или "чукча не читатель"?
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363691
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
exp98при этом FK {aaa.a_id} полностью входит в PK {A.id}
exp98А то если у A.id(+) убрать (+), сужается выборка
Может все-таки не полностью входит? )
Можно просто проверить )
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363697
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Avotge,

Ты тоже читай цитату выше и учитывай что соединение может быть более чем по одному предикату.
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363704
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopТы тоже читай цитату выше и учитывай что соединение может быть более чем по одному предикату.
Не догоняю :(
Что значит может быть более чем по одному?
У ТС в примере вроде как один предикат соединения aaa и A:
Код: plsql
1.
and aaa.a_id = A.id(+) --при этом  FK {aaa.a_id} полностью входит в PK {A.id}


При этом A.id(+) больше записей возвращается, чем с просто A.id.
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363706
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98Если написать
Код: plaintext
ааа left outer A
или
Код: plaintext
aaa inner join A
кол-во строк не изменится, а уменя меняется. Или где я ошибаюсь?



where aaa.a_id is not null
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363718
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envwhere aaa.a_id is not null
Верняк :)
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363775
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envwhere aaa.a_id is not nullв этом , поверьте, нет нужды, т.к. ааа есть размноженная выборка из А.id =PK, not null, unic

Я тоже тогда не догнал и на всяк и спросил именно про одновременность, а не просто типа "что не так?".
Код: plaintext
If A and B are joined by multiple join conditions
Потому что я не амер и выражение
Код: plaintext
"A and B "
так и перевожу: А и Б, т.е. оба
Код: plaintext
"are  joined  by multiple join conditions"
А в этом запросе моё А имеет ровно одно вхождение в условия, но раз доктор сказал в морг, значит в морг.
...
Рейтинг: 0 / 0
11g, есть ли подвохи: употребление c- "(+)" и без-
    #39363786
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха-ха, там следующее же примечание:
Код: plaintext
The (+) operator does not produce an outer join if you specify one table in the outer query and the other table in an inner query.
Как раз мой случай, фотошоп прав, спасибо.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 11g, есть ли подвохи: употребление c- "(+)" и без-
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]