В таблице одна строка. Как извлечь из нее 10 строк? Как сформировать последовательность? Календарь? Побочные "плюшки" иерархического SQL запроса в Oracle. Таблица dual Если нам нужно получить SQL запросом текущую дату, то в Oracle мы пишем: select sysdate from dual
;
31.03.19 В некоторых диалектах SQL для скаляра (текущая дата - скаляр) можно записать без from dual, но Oracle требует полноты минимальной конструкции выражения для чтения данных: select <список столбцов> from <список таблиц> Служебная таблица dual как раз и наличествует в системе для формализации выборок "из ниоткуда". Она состоит из одного столбца и одной строки, столбец называется dummy, а в единственной ячейке находится строка из одного символа 'X': В рамках "обычного" SQL мы можем получить из таблицы - предположим, из простой и понятной таблицы dual - много столбцов, но не более строк, чем в ней содержится: Конструкция connect by Но если мы добавим в запрос волшебную конструкцию connect by, то начнутся чудеса: На само