powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / почему так ?
25 сообщений из 77, страница 3 из 4
почему так ?
    #39520704
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicВо время реализации этой логики Индия ещё была отсталой страной.
В том смысле, что важна не реализация (индусы, индийцы или индейцы не суть), а то, откуда росли ноги реляционной агебры.
...
Рейтинг: 0 / 0
почему так ?
    #39520712
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYИ почему-же у ANY изначальное FALSE а у ALL изначальное TRUE?Видимо для того, чтоб имело смысл переключать true -> false и false -> true а не false -> false.
SYНе говоря о том что это уже implementation так-как для ANY прoще искать одно соответствие (и посему установить изначальное в FALSE) а для ALL одно не соответствие (и посему установить изначальное в TRUE).Так и делается. Рекомендую перечитать мое сообщение еще раз.
SYВопрос в том что есть результат сравнения скалярa с элементом пустого множества (TRUE/FALSE/UNKNOWN)?Касательно обсуждения оксюморонов типа "элемент пустого множества" это не ко мне. Пустое множество на то и пустое, что в нем нет элементов.

А то, что пустое множество в случае скаляра преобразуется в NULL ну так это особенности SQL.
...
Рейтинг: 0 / 0
почему так ?
    #39520716
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadНу вотЕсли всмонить о том, что сначала выполняется where а потом группировка, то все становится на свои места.
Твоя collect как раз и добавляет группировку по константам в запрос.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> select x from
  2  (select cast(collect(1) as t_number_table) c,
  3          1 x
  4     from dual
  5    where 1=0
  6  );

         X
----------
         1

SQL> select x from
  2  (select --cast(collect(1) as t_number_table) c,
  3          1 x
  4     from dual
  5    where 1=0
  6  );

no rows selected
...
Рейтинг: 0 / 0
почему так ?
    #39520761
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYИ почему-же у ANY изначальное FALSE а у ALL изначальное TRUE?

Ребят, я вам удивляюсь. У меня дочка в 5 классе понимала почему из утверждения
"В этой комнате все драконы красные" не следует - "в этой комнате есть хотя бы один красный дракон".
...
Рейтинг: 0 / 0
почему так ?
    #39520764
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKaddbms_photoshopЕсли мы затронули пустые строки, то воспользуясь случаем замечу, что Оракловая реализация отстой.Здесь я могу с тобой согласиться. Но поведение = all при no rows returned я считаю нелогичным. Можете кидать в меня камнями.Его можно считать НЕинтуитивным и тут я даже могу с тобой согласиться, но ошибочно считать нелогичным.

Как я уже заметил, взглянуть по новому помогает понимание функционального программирования и в частности понятия tail-recursive .

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

Так что я лишний раз бы рекомендовал не зацикливать свою жизнь на Оракле, а изучать другие языки и инструменты.
Поизучай scala и просто попытайся написать проверку с использованием функционального подхода.
Потом люди, способные мыслить только императивно будут вызывать у тебя лишь улыбку или сожаление...
или что-то еще в зависимости от того насколько агрессивно и самоуверенно они остаивают свою правоту.
...
Рейтинг: 0 / 0
почему так ?
    #39520768
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,

Кто-то может спросить, при чем здесь функциональное программирование?
При том, что во-первых дает возможность взглянуть на ситуацию под другим углом, во-вторых плавнее перейти к булевой алгебре.

Недавно уже возникала ситуация, чтоб на равных обсуждать проблему надо иметь хотя бы примерно равный фундамент знаний.

В великолепной резонансной теме ( regexp_like ) я порекомендовал авторше почитать про конечные автоматы,
если она хочет продолжить разговор на тему почему задача не разрешима регулярными выражениями,
но почему-то мой пост с ссылкой потерли, при том что я там никого не оскорблял.
Что как бы намекает на компетенцию модераторов (точнее отдельного кадра (видимо tru55) который решил потереть то, что было написано).
...
Рейтинг: 0 / 0
почему так ?
    #39520781
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевSYИ почему-же у ANY изначальное FALSE а у ALL изначальное TRUE?

Ребят, я вам удивляюсь. У меня дочка в 5 классе понимала почему из утверждения
"В этой комнате все драконы красные" не следует - "в этой комнате есть хотя бы один красный дракон".

вот это вообще не про то
я второго не утверждал

логика была другая

- проверим что "В этой комнате все драконы красные"
- в этой комнате 0 драконов
- следовательно в этой комнате 0 красных драконов
- следовательно утверждение "В этой комнате все драконы красные" неверно

PS
мне казалось что sql задумывался для аналитиков, поближе к естественному языку
...
Рейтинг: 0 / 0
почему так ?
    #39520785
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxмне казалось что sql задумывался для аналитиков, поближе к естественному языкуА ты логику в универе учил? Квантор всеобщности, квантор существования и всё такое?

Утверждение
Код: plaintext
Для всех элементов множества выполняется равенство с х
тождественно эквивалентно
Код: plaintext
Не существует элемента множества такого, что НЕ выполняется равенство с х
...
Рейтинг: 0 / 0
почему так ?
    #39520799
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxa- проверим что "В этой комнате все драконы красные"
b- в этой комнате 0 драконов
c- следовательно в этой комнате 0 красных драконов
d- следовательно утверждение "В этой комнате все драконы красные" неверно
В школу.
Переход из с в d неверный. Никакой связи между этими утверждениями нет.
Ибо утверждение "В этой комнате все драконы красные. неверно" тождественно равно утверждению "в комнате есть не красный дракон".

Учите логику. Без неё в программировании делать нечего.
...
Рейтинг: 0 / 0
почему так ?
    #39520844
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевВ том смысле, что важна не реализация (индусы, индийцы или индейцы не суть), а то, откуда росли ноги реляционной агебры.Откуда бы они не росли, я не вижу извинений перед индусами.
...
Рейтинг: 0 / 0
почему так ?
    #39520972
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicОткуда бы они не росли, я не вижу извинений перед индусами.
Ты прав это не вина индусов, что они все сделали правильно. Не многие на это способны.
...
Рейтинг: 0 / 0
почему так ?
    #39520982
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, некоторые думают, что
авторОсновная особенность NULLа заключается в том, что он не равен ничему, даже другому NULL
так вот, это не совсем так:
Код: plsql
1.
2.
select 'null равен члену пустого множества'|| case when null=null then ' и равен самому себе' else ', но не равен самому себе' end from dual
 where null = all (select 1 from dual where 1=0)
...
Рейтинг: 0 / 0
почему так ?
    #39520984
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выше пропущено слово любому
...
Рейтинг: 0 / 0
почему так ?
    #39521045
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев
Код: plsql
1.
null равен члену пустого множества

Подобные формулировки только запутывают имхо.
Во-первых, "= any" не бинарная операция и по сути вообще никакого сравнения не выполнялось.
Во-вторых, раз ты так же уверенно как SY используещь формулировку "члену пустого множества" может приведешь определение что это?
Или это нельзя понять, а можно только почувствовать? :))
...
Рейтинг: 0 / 0
почему так ?
    #39521060
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopСергей Арсеньев
Код: plsql
1.
null равен члену пустого множества

Подобные формулировки только запутывают имхо.
Во-первых, "= all" (и "= any" тоже) не бинарная операция и по сути вообще никакого сравнения не выполнялось.
Во-вторых, раз ты так же уверенно как SY используещь формулировку "члену пустого множества" может приведешь определение что это?
Или это нельзя понять, а можно только почувствовать? :))Fixed.
...
Рейтинг: 0 / 0
почему так ?
    #39521063
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньеввыше пропущено слово любомуПосле введения квантора стало получше.
Что-то у меня проблемы с концентрацией сегодня.
...
Рейтинг: 0 / 0
почему так ?
    #39522588
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевSYИ почему-же у ANY изначальное FALSE а у ALL изначальное TRUE?

Ребят, я вам удивляюсь. У меня дочка в 5 классе понимала почему из утверждения
"В этой комнате все драконы красные" не следует - "в этой комнате есть хотя бы один красный дракон".

и так 5 класс, урок информатики
МарьяИвановна: Комната пустая. Истиино или нет утверждение "В этой комнате все драконы красные" ?
Дочка: Истинно, так как из "В этой комнате все драконы красные" не следует - "в этой комнате есть хотя бы один красный дракон".
Вовочка: Хз. Из "В этой комнате все драконы красные" следует что Все драконы в этой комнате в красные (в комнате нет зеленых драконов). В тоже время, Евгений и его дочка на вопрос "В этой комнате все драконы зеленые" отвечат утвердительно, но в комнате ВСЕ драконы красные. Парадокс. UNKNOWN.


dbms_photoshop скормил фразу "В этой комнате все драконы красные" dbms_sql2.expand_sql_text
результат трансформации в (+) оказался "В этой комнате нет не красных драконов", а ето утверждение для пустой комнаты TRUE

Бага трансформации из ANSI в natural

ps
интересно что вернет DB2?


.....
stax
...
Рейтинг: 0 / 0
почему так ?
    #39522595
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxВ тоже время, Евгений и его дочка на вопрос "В этой комнате все драконы зеленые" отвечат утвердительно, но в комнате ВСЕ драконы красные. Парадокс.
Никакого парадокса тут. Даже если в комнате есть дракон, то может оказаться, что кто-то из говорящих дальтоник. :)
...
Рейтинг: 0 / 0
почему так ?
    #39522597
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,

Из сунувшихся в комнату с драконом, кмк, получается малорепрезентативная выборка.
...
Рейтинг: 0 / 0
почему так ?
    #39522610
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевStaxВ тоже время, Евгений и его дочка на вопрос "В этой комнате все драконы зеленые" отвечат утвердительно, но в комнате ВСЕ драконы красные. Парадокс.
Никакого парадокса тут. Даже если в комнате есть дракон, то может оказаться, что кто-то из говорящих дальтоник. :)
даже если Э́ллисон дальтонник, трансформация в натурал доллжна проходить "правильно", и имхо для пустой комнаты UNKNOWN

.....
stax
...
Рейтинг: 0 / 0
почему так ?
    #39522630
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax и имхо для пустой комнаты UNKNOWN
И ты прав... (c) Древняя притча
...
Рейтинг: 0 / 0
почему так ?
    #39522632
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envИз сунувшихся в комнату с драконом, кмк, получается малорепрезентативная выборка.
Кмк, малорепрезентативная среди тех кто вышел. :)
...
Рейтинг: 0 / 0
почему так ?
    #39522655
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxdbms_photoshop скормил фразу "В этой комнате все драконы красные" dbms_sql2.expand_sql_text
результат трансформации в (+) оказался "В этой комнате нет не красных драконов", а ето утверждение для пустой комнаты TRUE

Бага трансформации из ANSI в natural Исключительно как ирония:
...
Рейтинг: 0 / 0
почему так ?
    #39522658
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop,

Эта та самая комната с красными драконами?
...
Рейтинг: 0 / 0
почему так ?
    #39522672
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envdbms_photoshop,

Эта та самая комната с красными драконами?
судя по бликам (тени) на полу, возле двери причаились как минимум два красных дракона

.....
stax
...
Рейтинг: 0 / 0
25 сообщений из 77, страница 3 из 4
Форумы / Oracle [игнор отключен] [закрыт для гостей] / почему так ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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