Читаем Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики полностью

Вывести из таблицы CITY название города (CITYNAME), квадратный корень от количества населения (PEOPLES), где значение кода города (CITYCODE) делится нацело на 3.



Рисунок 44. Запрос к CITY с математическим выражением


Вывести из таблицы CITY название города (CITYNAME), код города, разделенный на 3 (CITYCODE), где значение населения (PEOPLES), разделенное на 100, не больше 1 000 000.



Рисунок 45. Запрос к CITY: математическое выражение WHERE и SELECTLISt

Важные замечания

При выполнении математических выражений иногда возникают ошибочные исключительные ситуации, например при делении некоторого значения на ноль: в этом случае запрос выдает некорректный результат или вообще не выполняется, но при этом некоторые среды разработки подавляют сообщения об ошибке.

Об этом следует помнить, когда вы пишете запросы, использующие математические выражения.

Вопросы учеников

Зачем использовать псевдонимы для колонок, которые рассчитываются как математические выражения?

Для удобного, понятного отображения названия колонки.

Где найти полный перечень математических функций, поддерживаемых СУБД?

В документации по вашей СУБД.

Контрольные вопросы и задания для самостоятельного выполнения

1. Вывести из таблицы MAN имя, фамилию и квадратный корень 10.

2. Вывести из таблицы MAN имя, фамилию и возраст человека, умноженный на cos (5).

3. Вывести из таблицы CITY записи (*), где популяция делится без остатка на 10 000.

4. Вывести из таблицы CITY название города, квадратный корень от популяции, умноженный на 10, где значение кода города делится нацело на 3.


Продолжением данного шага является следующий шаг, посвященный таблице DUAL.

Шаг 22. Запрос к результату выражения и специальная таблица DUAL

Введение

В SQL ORACLE диалекта есть специальная таблица DUAL. Если в других СУБД существуют альтернативные варианты синтаксиса, то для SQL ORACLE необходимо использовать таблицу DUAL.

Теория и практика

Данная таблица выполняет следующие задачи:

• делает удобным вывод в запросе «результаты вычислений математического выражения»;

• помогает при вычислении функции, которая возвращает одно значение.

При этом для результата вычисления данных выражений нам не требуется участие колонок из каких-либо таблиц в нашей базе данных.


Разберем на примерах:


Вычислить значение математического выражения 1000* (123—11) /100 с помощью SELECT.



Рисунок 46. Вычисление выражения


Вычислить значение функции sIN (10) /100 с помощью SELECT.



Рисунок 47. Вычисление выражения, таблица DUAL


Вычислить значение текущей даты с помощью SELECT.


– 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.

Перейти на страницу:

Похожие книги

Omert@. Руководство по компьютерной безопасности и защите информации для Больших Боссов
Omert@. Руководство по компьютерной безопасности и защите информации для Больших Боссов

Увы, друг мой, защита твоей информации - или хотя бы четкое понимание того, что это такое и как подобная защита должна строиться - это Твое Личное Дело! Не Cosa Nostra (хотя твои проблемы могут стать и Нашим Делом тоже), а Cosa Roba - Твое Дело!  Я знаю, что ты солидный человек, который привык платить, чтобы за него решали проблемы. Однако есть проблемы, которые за тебя никто не решит, - даже за очень большие деньги. Например, заниматься любовью со своей женой должен ты сам. Но кто тебе сказал, что защита твоей информации - это менее интимное дело, и его можно поручить постороннему?  Первая книга по безопасности для Менеджеров, а не для ботаников-компьютерщиков, информации от широко неизвестного благодаря своей репутации эксперта международного класса. Только благодаря ей Большой Босс сможет понять, каким образом он сможет чувствовать себя хотя бы в относительной безопасности!  Ты должен сам знать, что такое безопасность информации! Ни один нанятый специалист не решит это за тебя!  Если ты нанимаешь студента-компьютерщика за двести баксов в месяц и совершенно серьезно считаешь его специалистом по информационной безопасности, - не понятно, как ты вообще смог стать менеджером подобного уровня.

Алекс Экслер , Карл Шкафиц

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Хакеры: Герои компьютерной революции
Хакеры: Герои компьютерной революции

Как-то незаметно получилось, что за последние годы достаточно большое количество значений слова «хакер»: «компьютерный гений — озорник — любитель — специалист — исследователь» постепенно сжалось до «компьютерного хулигана — преступника». Mожно только «порадоваться» за труды журналистов околокомпьютерных и не очень изданий во всем мире, а также голливудских режиссеров, прививших умам неискушенных сограждан именно такое видение мира.Но, к счастью, так было не всегда. Эта книга позволяет вернуться к тем дням, когда все это еще только начиналось. К тем чистым и немного наивным ощущениям первоткрывателей, которым в руки попали удивительные игрушки, гигантские по размерам и стоимости...Как начинал Билл Гейтс? Как зарождался Apple? Замечательная коллекция персонажей шумно исследующих киберпространство, в котором до них еще никто не бывал, будет интересна не только специалистам но и простому читателю.

Стивен Леви

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

Это практическое всеобъемлющие руководство было написано специально для тех, кто выбирает стратегию внедрения SAP в организации. «Внедрение SAP R/3: руководство для менеджеров и инженеров» объясняет, что означает понятие «эпоха ERP», почему информация является одним из ключевых ресурсов предприятия, как SAP способствует росту конкурентоспособности компании, а также преимущества методологии ASAP в планировании и использовании ресурсов при внедрении SAP. Подход к ERP-системам, используемый в данной книге, будет крайне полезен менеджерам и специалистам, которым необходимо представить высшему руководству своих компаний основания для внедрения SAP; кроме того, данная книга будет весьма полезной тем, кто занимается проектами SAP или планирует такой проект в ближайшем будущем. Для тех читателей, кто непосредственно занят в проектах SAP, эта книга станет надежным руководством и поможет внести существенный вклад в развитие проекта.

Вивек Кале

Прочая компьютерная литература / Книги по IT