powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Некорректный запрос не ругается
13 сообщений из 13, страница 1 из 1
Некорректный запрос не ругается
    #40003420
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем


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
ругается что естественно.

Мелочь но я делал по быстрому и чуть не проапдейтиЛ все записи (это было в подзапросе.)
В чем причина того что Оракл съел этот запрос с Некорректным полем ?
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003425
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин ФедорВ чем причина того что Оракл съел этот запрос с Некорректным полем ?

Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос
синтаксически корректен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003426
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федор
Добрый день всем


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".
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003461
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
СПС
да похоже ибо
in ( SELECT xxx FROM S5XUSP.ORC_TRAIN_USER )
ругается
не ожидал что поле в подзапросе возьмется оттуда
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003463
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федорне ожидал что поле в подзапросе возьмется оттуда

То есть о коррелированных подзапросах ты вообще никогда не слышал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003480
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Гулин ФедорВ чем причина того что Оракл съел этот запрос с Некорректным полем ?

Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос
синтаксически корректен.


Очень полезная информация. Только что попробовал - так и есть. Исполнилось без ошибок:
Код: plsql
1.
select * from docs d where d.doc_id in (select doc_id from dual)



А вот такое уже не проходит:
Код: plsql
1.
select * from docs d where d.doc_id in (select х.doc_id from dual х)



Урок: даже в подзапросах использовать конкретные имена таблиц, не полагаясь на "догадается".

Насколько я научился читать план, этот запрос преобразуется в
Код: plsql
1.
select * from docs d where d.doc_id in (d.doc_id)


с тавтологией в фильтре. Когда-нибудь появится линт для SQL, который будет ловить такие вещи.
Или уже есть?
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003483
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Гулин Федорне ожидал что поле в подзапросе возьмется оттуда

То есть о коррелированных подзапросах ты вообще никогда не слышал.


Я тоже не слышал. Сейчас с интересом читаю про них, вот тут.

http://www.sql-tutorial.ru/ru/book_correlated_subqueries.html
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003487
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQLЯ тоже не слышал.

За те две недели, что ты изучаешь SQL, так и не осилил Граубера? Ню-ню...
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003551
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
НеофитSQLЯ тоже не слышал.

За те две недели, что ты изучаешь SQL, так и не осилил Граубера? Ню-ню...

Уже наверное месяц изучаю. Наверное, я уже упоминал, что в качестве эксперимента пробую не использовать учебники, а только чтения чужого кода и документации Оракла по небходимости. Идея была в том, чтобы наделать много ошибок, которые позволят отойти от процедурного стиля мышления, а также получить понятие о языке на примерах, отличающихся от книжных - отсюда мои "задачки" про то, как засунуть круглое в квадратное, которые некоторых смущают или расстраивают.

Я не рекомендую этот способ с точки зрения скорости обучения, но мне это помогло поддерживать интерес к SQL, возможность много поэкспериментировать и наизобреатать велосипедов, а также пообщаться с группой опытных людей, порой испытывая их терпение.

Месяц спустя я начинаю ощущать необходимость взять хороший учебник и начать заполнять пробелы которых у меня несомненно очень много, ведь мои прикладные задачи довольно просты. Кроме Грубера, есть еще рекомендации хороших книг?
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003554
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQLКроме Грубера, есть еще рекомендации хороших книг?

Нет. Других хороших книг не наблюдается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003605
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Гулин Федорне ожидал что поле в подзапросе возьмется оттуда

То есть о коррелированных подзапросах ты вообще никогда не слышал.


я много чего слышал и кое-что даже видел.

ответ то дан то mad_nazgul был про поле за что ему СПС

я быстро переписал через exists (по моему это и есть коррелирующиеся запросы)
но сразу не сообразил что поле из - так бывает глаз замылился

форум существует для получения ответов с разных источников

Подзапрос может свободно использовать поля внешнего запроса в любом месте. Запрос
синтаксически корректен.


в данном ответе я пропустил выделенное слово
ответ mad_nazgul был сформулирован более четко вот и все.

зы давно писал запросы через exists даже не зная что они коррелирующиеся и как-то получалось без проблем.
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003648
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор,

А как вы исправили через exists?
Напишите, чтоб я тоже чему-то поучился.

Было так:
Код: plsql
1.
2.
3.
4.
SELECT * FROM employeeId e
where
e.user_id
in ( SELECT user_id FROM myuser.ORC_TRAIN_USER ) -- должно было быть userid в подзапросе



Можно было исправить так:
Код: plsql
1.
2.
3.
4.
SELECT * FROM employeeId e
where
e.user_id
in ( SELECT t.userid FROM myuser.ORC_TRAIN_USER t) -- поставил t., чтоб опечатки ловились компилятором



А вы сделали так?
Код: plsql
1.
2.
3.
4.
SELECT * FROM employeeId e
where
exists (
in ( SELECT 1 FROM myuser.ORC_TRAIN_USER where user_id=userid)



Я думаю, последнее может быть самое медленное.


Еще можно так:
Код: plsql
1.
2.
SELECT * FROM employeeId e
  JOIN myuser.ORC_TRAIN_USER t on t.userid = e.user_id



Что по-моему будет самым быстрым эквивалентом, при уникальных user_id и userid.
...
Рейтинг: 0 / 0
Некорректный запрос не ругается
    #40003881
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL


Что по-моему будет самым быстрым эквивалентом, при уникальных user_id и userid.


а сравнить планы не судьба? Про query transformation, unnest, merge не читал еще?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Некорректный запрос не ругается
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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