powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / почему так ?
25 сообщений из 77, страница 1 из 4
почему так ?
    #39520526
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> 
SQL> select 1
  2  from dual
  3  where 999 = all (select 1 from dual where 1=0)
  4  /
 
         1
----------
         1
 
SQL> 



почему ?
...
Рейтинг: 0 / 0
почему так ?
    #39520533
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxx
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> 
SQL> select 1
  2  from dual
  3  where 999 = all (select 1 from dual where 1=0)
  4  /
 
         1
----------
         1
 
SQL> 



почему ?


oradocALL

Compares a value to every value in a list or returned by a query. Must be preceded by =, !=, >, <, <=, >=. Can be followed by any expression or subquery that returns one or more values.

Evaluates to TRUE if the query returns no rows .
...
Рейтинг: 0 / 0
почему так ?
    #39520539
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FogeloradocALL

Compares a value to every value in a list or returned by a query. Must be preceded by =, !=, >, <, <=, >=. Can be followed by any expression or subquery that returns one or more values.

Evaluates to TRUE if the query returns no rows .

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


хорошо, а почему сделали-то так ?
где логика ?Представь, что ты пишешь функцию, котора принимает на вход
* атомарное значение
* массив
* оператор
Она возвращает false, если оператор возвращает false хотя бы для одного элемента массива, иначе true.
Какова будет твоя логика если массив пустой?
...
Рейтинг: 0 / 0
почему так ?
    #39520563
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxгде логика ?тебе кажется, что логики нет, поскольку для тестов ты используешь пример, не имеющий отношения к повседневной жизни
...
Рейтинг: 0 / 0
почему так ?
    #39520566
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopКакова будет твоя логика если массив пустой?

операция сравнения с пустым множеством по хорошему должна выдавать null
уж точно не true
...
Рейтинг: 0 / 0
почему так ?
    #39520577
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--nxxгде логика ?тебе кажется, что логики нет, поскольку для тестов ты используешь пример, не имеющий отношения к повседневной жизни

изначально у меня было нечто типа

Код: plsql
1.
2.
3.
4.
update master m
set flag1 = 'Y'
where 
'Y' = all (select flag2 from detail d where d.id = m.id)



при этом запись master с 0 detail вполне реальные данные
...
Рейтинг: 0 / 0
почему так ?
    #39520581
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxдолжна выдавать null
уж точно не trueтогда уж не NULL, а UNKNOWN
Nulls in Conditions A condition that evaluates to UNKNOWN acts almost like FALSE. For example, a SELECT statement with a condition in the WHERE clause that evaluates to UNKNOWN returns no rows. However, a condition evaluating to UNKNOWN differs from FALSE in that further operations on an UNKNOWN condition evaluation will evaluate to UNKNOWN. Thus, NOT FALSE evaluates to TRUE, but NOT UNKNOWN evaluates to UNKNOWN.
...
Рейтинг: 0 / 0
почему так ?
    #39520590
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxdbms_photoshopКакова будет твоя логика если массив пустой?

операция сравнения с пустым множеством по хорошему должна выдавать null
уж точно не trueЧто, простите? Ты сравниваешь "элемент" с "множеством"? А где ты такую операцию встречал?

В нормальном мире операторы могут сравнивать операнды одного типа или приводимых типов.
В твоем случае выполняется поэлементное сравнение.
Изначальное состояние true, оно может стать false если будет хоть один элемент для которого сравнение вернет false.
...
Рейтинг: 0 / 0
почему так ?
    #39520602
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopИзначальное состояние true, оно может стать false если будет хоть один элемент для которого сравнение вернет false.

Ну и чем тогда отличается:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> select 1 from dual where 1 = (select 1 from dual where 1 = 2);

no rows selected

SQL> select 1 from dual where 1 = all (select 1 from dual where 1 = 2);

         1
----------
         1

SQL> 



SY.
...
Рейтинг: 0 / 0
почему так ?
    #39520604
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxгде логика ?
В школе, вестимо.
Учите, какие уnверждения верны про членов пустого множества. :)
...
Рейтинг: 0 / 0
почему так ?
    #39520610
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopИзначальное состояние true, оно может стать false если будет хоть один элемент для которого сравнение вернет false.

вы не к тому придираетесь
"Изначальное состояние true" это особенности реализации
с точки зрения клиента как раз всё наоборот
(в выборке нет записей пока все условия не определены)
ну а как известно "клиент всегда прав"
...
Рейтинг: 0 / 0
почему так ?
    #39520612
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYНу и чем тогда отличается:
Это даже не смешно.
SYНу и чем тогда отличается:
Код: plsql
1.
SQL> select 1 from dual where 1 = (select 1 from dual where 1 = 2);


Фраза в переводе на русский : Что один доллар Вам должны, что ничего все едино.

SY
Код: plsql
1.
SQL> select 1 from dual where 1 = all (select 1 from dual where 1 = 2);


Любой из несуществующих Ваших кредиторов может смело требовать с Вас доллар.
...
Рейтинг: 0 / 0
почему так ?
    #39520614
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

Простите, у Вас не любой, у Вас каждый. Любой у ТС.
...
Рейтинг: 0 / 0
почему так ?
    #39520616
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxс точки зрения клиента как раз всё наоборот


т.е. изначальное состояние UNKNOWN с точки зрения клиента
...
Рейтинг: 0 / 0
почему так ?
    #39520620
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxx с точки зрения клиента
Задача программиста, как прикладного математика - в первую очередь правильно перевести хотелки клиента на язык математики. А потом уж решать задачу.
...
Рейтинг: 0 / 0
почему так ?
    #39520621
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYНу и чем тогда отличаетсяЭто троллинг?
Оператор сравнения атомарных значений (одно из которых null) и поэлементное сравнение с элементами множества (которое в конкретном случае пустое).
...
Рейтинг: 0 / 0
почему так ?
    #39520623
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxdbms_photoshopИзначальное состояние true, оно может стать false если будет хоть один элемент для которого сравнение вернет false.

вы не к тому придираетесь
"Изначальное состояние true" это особенности реализации
с точки зрения клиента как раз всё наоборот
(в выборке нет записей пока все условия не определены)
ну а как известно "клиент всегда прав"Если цель была убедиться в своей "правоте" без попыток взглянуть на проблему под другим углом, то, думаю, она достигнута.
А вообще если ты когда-нибудь столкнешься с функциональным программированием то откроешь для себя новый дивный мир и логика станет логичнее.
Вне зависимости от "особенностей реализации".
...
Рейтинг: 0 / 0
почему так ?
    #39520625
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopSYНу и чем тогда отличаетсяЭто троллинг?
Возможно SY имел ввиду, что путь пофантазировать на тему как надо бы писать, на месте индусов из Oracle, на Темную сторону ведет. :)
...
Рейтинг: 0 / 0
почему так ?
    #39520629
nxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньевnxx с точки зрения клиента
Задача программиста, как прикладного математика - в первую очередь правильно перевести хотелки клиента на язык математики. А потом уж решать задачу.

ОК, объясните чисто по математике как там выходит true
...
Рейтинг: 0 / 0
почему так ?
    #39520632
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxx,

Вероятно, по симметрической разнице или по исключению.
...
Рейтинг: 0 / 0
почему так ?
    #39520633
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxx,

Трудности с прочтением всего, что было выше?

Любое утверждение про члена пустого множества, которое не ложно по другим причинам и не противоречит пустоте множества - верно.

Как я уже сказал, все кто является Вашим несуществующим кредитором могут смело требовать с Вас 999 рублей. Так понятно?
...
Рейтинг: 0 / 0
почему так ?
    #39520634
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxxОК, объясните чисто по математике как там выходит true.. запахло жареным
...
Рейтинг: 0 / 0
почему так ?
    #39520640
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nxx,

А для каких целей Вы используете all в рамках своих задач?
...
Рейтинг: 0 / 0
почему так ?
    #39520642
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--запахло жареным
Запахло жареным, это, когда Элик модератора оскорбляет...

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


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