|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Добрый день всем Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SELECT * FROM employeeId e where e.user_id in ( SELECT user_id FROM myuser.ORC_TRAIN_USER ) ; в подзапросе ошибка вместо там поле должно называеться userid вместо user_id Описался бывает но почему оно мне вернуло все записи из employeeId и НЕ ругнулось и даже план показывает SELECT user_id FROM myuser.ORC_TRAIN_USER ругается что естественно. Мелочь но я делал по быстрому и чуть не проапдейтиЛ все записи (это было в подзапросе.) В чем причина того что Оракл съел этот запрос с Некорректным полем ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 14:29 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Гулин ФедорВ чем причина того что Оракл съел этот запрос с Некорректным полем ? Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос синтаксически корректен. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 14:34 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Гулин Федор Добрый день всем Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SELECT * FROM employeeId e where e.user_id in ( SELECT user_id FROM myuser.ORC_TRAIN_USER ) ; в подзапросе ошибка вместо там поле должно называеться userid вместо user_id Описался бывает но почему оно мне вернуло все записи из employeeId и НЕ ругнулось и даже план показывает SELECT user_id FROM myuser.ORC_TRAIN_USER ругается что естественно. Мелочь но я делал по быстрому и чуть не проапдейтиЛ все записи (это было в подзапросе.) В чем причина того что Оракл съел этот запрос с Некорректным полем ? В подзапрос поставилось поле из "employeeId" - "user_id". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 14:35 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
mad_nazgul, СПС да похоже ибо in ( SELECT xxx FROM S5XUSP.ORC_TRAIN_USER ) ругается не ожидал что поле в подзапросе возьмется оттуда ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:22 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Гулин Федорне ожидал что поле в подзапросе возьмется оттуда То есть о коррелированных подзапросах ты вообще никогда не слышал. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:25 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Гулин ФедорВ чем причина того что Оракл съел этот запрос с Некорректным полем ? Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос синтаксически корректен. Очень полезная информация. Только что попробовал - так и есть. Исполнилось без ошибок: Код: plsql 1.
А вот такое уже не проходит: Код: plsql 1.
Урок: даже в подзапросах использовать конкретные имена таблиц, не полагаясь на "догадается". Насколько я научился читать план, этот запрос преобразуется в Код: plsql 1.
с тавтологией в фильтре. Когда-нибудь появится линт для SQL, который будет ловить такие вещи. Или уже есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:42 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Гулин Федорне ожидал что поле в подзапросе возьмется оттуда То есть о коррелированных подзапросах ты вообще никогда не слышал. Я тоже не слышал. Сейчас с интересом читаю про них, вот тут. http://www.sql-tutorial.ru/ru/book_correlated_subqueries.html ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:44 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
НеофитSQLЯ тоже не слышал. За те две недели, что ты изучаешь SQL, так и не осилил Граубера? Ню-ню... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 15:49 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov НеофитSQLЯ тоже не слышал. За те две недели, что ты изучаешь SQL, так и не осилил Граубера? Ню-ню... Уже наверное месяц изучаю. Наверное, я уже упоминал, что в качестве эксперимента пробую не использовать учебники, а только чтения чужого кода и документации Оракла по небходимости. Идея была в том, чтобы наделать много ошибок, которые позволят отойти от процедурного стиля мышления, а также получить понятие о языке на примерах, отличающихся от книжных - отсюда мои "задачки" про то, как засунуть круглое в квадратное, которые некоторых смущают или расстраивают. Я не рекомендую этот способ с точки зрения скорости обучения, но мне это помогло поддерживать интерес к SQL, возможность много поэкспериментировать и наизобреатать велосипедов, а также пообщаться с группой опытных людей, порой испытывая их терпение. Месяц спустя я начинаю ощущать необходимость взять хороший учебник и начать заполнять пробелы которых у меня несомненно очень много, ведь мои прикладные задачи довольно просты. Кроме Грубера, есть еще рекомендации хороших книг? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 16:58 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
НеофитSQLКроме Грубера, есть еще рекомендации хороших книг? Нет. Других хороших книг не наблюдается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 17:02 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Гулин Федорне ожидал что поле в подзапросе возьмется оттуда То есть о коррелированных подзапросах ты вообще никогда не слышал. я много чего слышал и кое-что даже видел. ответ то дан то mad_nazgul был про поле за что ему СПС я быстро переписал через exists (по моему это и есть коррелирующиеся запросы) но сразу не сообразил что поле из - так бывает глаз замылился форум существует для получения ответов с разных источников Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос синтаксически корректен. в данном ответе я пропустил выделенное слово ответ mad_nazgul был сформулирован более четко вот и все. зы давно писал запросы через exists даже не зная что они коррелирующиеся и как-то получалось без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 18:14 |
|
Некорректный запрос не ругается
|
|||
---|---|---|---|
#18+
Гулин Федор, А как вы исправили через exists? Напишите, чтоб я тоже чему-то поучился. Было так: Код: plsql 1. 2. 3. 4.
Можно было исправить так: Код: plsql 1. 2. 3. 4.
А вы сделали так? Код: plsql 1. 2. 3. 4.
Я думаю, последнее может быть самое медленное. Еще можно так: Код: plsql 1. 2.
Что по-моему будет самым быстрым эквивалентом, при уникальных user_id и userid. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2020, 19:43 |
|
|
start [/forum/topic.php?fid=52&fpage=36&tid=1880853]: |
0ms |
get settings: |
12ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
130ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 234ms |
0 / 0 |