Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Вычисляемые поля

Выполнение математических вычислений

      Еще одним способом использования вычисляемых полей является выполнение математических операций над выбранными данными. Рассмотрим пример. В таблице Orders хранятся все полученные заказы, а в таблице Orderltems содержатся наименования продуктов для каждого заказа. Следующий SQL-оператор осуществляет выборку всех продуктов в заказе номер 20008:

SELECT prod_id, quantity, item_price
FROM OrderItems
WHERE order_nam = 20008; 



prod_id        quantity      item_price 
-------------  ------------  -------------------
RGANOl         5             4.9900
BR03           5             11.9900
BNBGOl         10            3.4900
BNBG02         1             3.4900 
BNBG03         0             3.4900

     В столбце item_price содержится цена на продукт для каждой записи, имеющейся в заказе. Чтобы узнать полную цену (цена за один продукт, умноженная на количество продуктов в заказе), необходимо сделать следующее:

SELECT prod_id, quantity, item_price quantity*item_price AS expanded_price FROM OrderItems WHERE order_nam = 20008;



prod_id     quantity      item_price     expanded_price 
--------    -----------   ------------   ---------------------
RGANOl      5             4.9900         24.9500
BR03        5             11.9900        59.9500
BNBGOl      10            3.4900         34.9000
BNBG02      10            3.4900         34.9000
BNBG03      10            3.4900         34.9000

     Столбец expanded_price, показанный в предыдущем результате, является вычисляемым полем; вычисление было простым: quantity*item_price. Теперь клиентское приложение может использовать этот новый вычисляемый столбец, как и любой другой в таблице.

     В SQL поддерживаются основные математические операции, перечисленные в таблице ниже. Кроме того, для управления порядком обработки можно использовать круглые скобки. В разделе, "Расширенная фильтрация данных", рассказывается о порядке обработки.

Операция          Описание 
--------------------------------------------------
+                      Сложение 
-                       Вычитание
*                      Умножение
/                      Деление