Новые книги

В этой книге Байрон Шарп – директор Института маркетинговых наук Эренберга-Басса при Университете Южной Австралии – приводит научные данные о том, почему люди покупают. Справедливость его выводов подтвердили десятилетние исследования поведения реальных покупателей. После прочтения этой книги вы сможете лучше понимать, как использовать законы маркетинга. Вы станете делать прогнозы и принимать решения, основанные на научных данных, а не домыслах.

На русском языке публикуется впервые.
Как бы нас сегодня ни огорчало ЖКХ, один неоспоримый плюс все же появился в последнее время. Нам не надо теперь стоять в длинных очередях в сбербанк, чтобы оплатить счета! Перевести деньги за жилье, электроэнергию, отопление, воду и прочее можно за считаные минуты, не выходя из дома. И мы научим вас, как это сделать.

Но ничего не бойтесь! Вам надо только строго следовать нашим простым пошаговым подсказкам-инструкциям, да еще для вашего удобства подкрепленные иллюстрациями. Кроме оплаты ЖКХ, вы научитесь оформлять и отправлять жалобы, писать заявления, находить нужную информацию про ЕИРЦ и капитальный ремонт, расселение аварийных домов и кадастровую оценку вашей недвижимости, незаконные свалки и законные требования к шумным соседям, и многое-многое другое.

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

Выборка вычисляемых значений

2.2.3. Выборка вычисляемых значений

Из синтаксиса фразы SELECT (п.2.1) видно, что в ней может содержаться не только перечень столбцов таблицы или символ *, но и выражения.

Например, если нужно получить значение калорийности всех продуктов, то можно учесть, что при окислении 1 г углеводов или белков в организме освобождается в среднем 4.1 ккал, а при окислении 1 г жиров - 9.3 ккал, и выдать запрос:

SELECT	Продукт, ((Белки+Углев)*4.1+Жиры*9.3)
FROM	Продукты;

результат которого приведен на рис. 2.2,а.

а)б)в)
Продукт
Говядина1928.1
Судак1523.
Масло8287.5
Майонез6464.7
Яйца1618.9
Сметана3011.4
Молоко605.1
Творог1575.
Морковь349.6
Лук459.2
Помидоры196.8
Зелень118.9
Рис3512.1
Мука3556.7
Яблоки479.7
Сахар4091.8
Кофе892.4
Продукт
ГовядинаКалорий =1928.1
СудакКалорий =1523.
МаслоКалорий =8287.5
МайонезКалорий =6464.7
ЯйцаКалорий =1618.9
СметанаКалорий =3011.4
МолокоКалорий =605.1
ТворогКалорий =1575.
МорковьКалорий =349.6
Лук Калорий =459.2
ПомидорыКалорий =196.8
ЗеленьКалорий =118.9
Рис Калорий =3512.1
МукаКалорий =3556.7
ЯблокиКалорий =479.7
СахарКалорий =4091.8
КофеКалорий =892.4
Продукт
Зелень118.9
Помидоры196.8
Морковь349.6
Лук459.2
Яблоки479.7
Молоко605.1
Кофе892.4
Судак1523.
Творог1575.
Яйца1618.9
Говядина 1928.1
Сметана3011.4
Рис3512.1
Мука3556.7
Сахар4091.8
Майонез6464.7
Масло8287.5

Рис. 2.2. Примеры запросов с вычисляемыми полями

Фраза SELECT может включать не только выражения, но и отдельные числовые или текстовые константы. Следует отметить, что текстовые константы должны заключаться в апострофы ('). На рис. 2.2,б приведен результат запроса:

 
 SELECT	Продукт, 'Калорий =', 
            ((Белки+Углев)*4.1+Жиры *9.3)
  FROM		Продукты;

А что произойдет, если какой-либо член выражения не определен, т.е. имеет значение NULL и каким образом появилось такое значение?

Если при загрузке строк таблицы в какой-либо из вводимых строк отсутствует значение для какого-либо столбца, то СУБД введет в такое поле NULL-значение. NULL-значение "придумано" для того, чтобы представить единым образом "неизвестные значения" для любых типов данных. Действительно, так как при вводе данных в столбец или их изменении СУБД запрещает ввод значений не соответствующих описанию данных этого столбца, то, например, нельзя использовать пробел для отсутствующего значения числа. Нельзя для этих целей использовать и ноль: нет месяца или дня недели равного нулю, да и для чисел ноль не может рассматриваться как неизвестное значение в одном месте и как известное - в другом. При выводе же NULL-значения на экран или печатающее устройство его код воспроизводится каким-либо специально заданным символом или набором символов: например, пробелом (если его нельзя перепутать с текстовым значением пробела) или сочетанием -0-.

С помощью специальной команды можно установить в СУБД один из режимов представления NULL-значений при выполнении числовых расчетов: запрет или разрешение замены NULL-значения нулем. В первом случае любое арифметическое выражение, содержащее неопределенный операнд, будет также иметь неопределенное значение. Во втором случае результат вычислений будет иметь численное значение (если это значение попадает в диапазон представления соответствующего типа данных).

Например, при выполнении запроса

SELECT	ПР, Цена, К_во, (Цена * К_во)
FROM	Поставки;

и разных "настройках" СУБД могут быть получены разные результаты:

ПРЦенаК_во(Цена*К_во)
9-0--0--0-
111.55075.
123.1030.
152.170340.
ПРЦенаК_во(Цена*К_во)
9-0--0-0.
111.55075.
123.1030.
152.170340.

2.2.2 | Содержание | 2.3.1