Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Запрос без from


Автор: Artemon 15.7.2011, 12:39
В MySql коректно выполняетс следующий запрос:

Код

SELECT 4, 5;


В Oracle нужно написать:

Код

SELECT 4, 5 from dual;


Вопрос, для чего вообще используется таблица dual ?

Автор: Zloxa 15.7.2011, 12:47
Для того самого и используется  smile 
http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datadict.htm#CNCPT1219

Добавлено через 6 минут и 15 секунд
в MySQL кстати,  from DUAL лишь может быть проигнорирован. 

Цитата

DUAL is purely for the convenience of people who require that all SELECT statements should have FROM and possibly other clauses. MySQL may ignore the clauses. MySQL does not require FROM DUAL if no tables are referenced.

http://dev.mysql.com/doc/refman/5.5/en/select.html

Автор: Artemon 15.7.2011, 12:57
Интересно, а по стандарту вообще должны исполняться запросы вида select 1,2   ?

В MySql проверил, действительно dual игнорируется, а вот MSSQL Server выдает ошибку синтаксиса

Автор: Zloxa 15.7.2011, 13:04
Цитата(Artemon @  15.7.2011,  12:57 Найти цитируемый пост)
Интересно, а по стандарту вообще должны исполняться запросы вида select 1,2   ?

 smile 
Узнаешь - обязательно расскажи smile
Чтобы там ни было в стандарте, все известные платформы стандарту соответствуют лишь частично.
Оракл степень своего соответствия стандартам вройкак описал http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/ap_standard_sql.htm#SQLRF019

Автор: Artemon 15.7.2011, 15:43
Полистал стандарт, вроде как from должен обязательно присутствовать. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)