Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики
Шрифт:
Шаг 22. Запрос к результату выражения и специальная таблица DUAL
Введение
В SQL ORACLE диалекта есть специальная таблица DUAL. Если в других СУБД существуют альтернативные варианты синтаксиса, то для SQL ORACLE необходимо использовать таблицу DUAL.
Теория
Данная таблица выполняет следующие задачи:
• делает удобным вывод в запросе «результаты вычислений математического выражения»;
• помогает при вычислении функции, которая возвращает одно значение.
При этом для результата вычисления данных выражений нам не требуется участие колонок из каких-либо таблиц в нашей базе данных.
Разберем на примерах:
Вычислить значение математического выражения 1000* (123—11) /100 с помощью SELECT.
Рисунок 46. Вычисление выражения
Вычислить значение функции sIN (10) /100 с помощью SELECT.
Рисунок 47. Вычисление выражения, таблица DUAL
Вычислить
– 21.11.1999 11:22
Вычислить значение sIN (1) *cos (1) с помощью SELECT.
Рисунок 48. Вычисление выражения и таблица sIN (1) * cos (1)
Важные замечания
При обращении к таблице DUAL запрос возвращает всего одну строку, при попытке добавить запись в таблицу DUAL могут произойти непредсказуемые последствия, не рекомендую это делать.
Вопросы учеников
Вы говорили, что в других СУБД, например MS SQL, можно обойтись без таблицы DUAL?
Да в MS SQL, например, будет работать такой запрос: SELECT sIN (1), здесь нет FROM, ORACLE в этом случае более соответствует стандарту SQL ANSI 92.
Контрольные вопросы и задания для самостоятельного выполнения
1. Вычислить значение площади квадрата со стороной 5 с помощью SELECT и DUAL.
2. Вычислить значение площади круга с радиусом 7 помощью SELECT и DUAL.
3. Вычислить значение выражения 100*sIN (1) *cos (3) с помощью SELECT и DUAL.
Конец ознакомительного фрагмента.