Организация Web-доступа к базам данных с использованием SQL-запросов
Рефераты >> Программирование и компьютеры >> Организация Web-доступа к базам данных с использованием SQL-запросов

Рисунок 2.2

Исключение дубликатов

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

SELECT DISTINCT Основа

FROM Блюда;

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

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

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

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

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

FROM Продукты;

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

а)

Б)

в)

Продукт

 

Продукт

 

Продукт

 

Говядина

1928.1

Говядина

Калорий =

1928.1

Зелень

118.9

Судак

1523.

Судак

Калорий =

1523.

Помидоры

196.8

Масло

8287.5

Масло

Калорий =

8287.5

Морковь

349.6

Майонез

6464.7

Майонез

Калорий =

6464.7

Лук

459.2

Яйца

1618.9

Яйца

Калорий =

1618.9

Яблоки

479.7

Сметана

3011.4

Сметана

Калорий =

3011.4

Молоко

605.1

Молоко

605.1

Молоко

Калорий =

605.1

Кофе

892.4

Творог

1575.

Творог

Калорий =

1575.

Судак

1523.

Морковь

349.6

Морковь

Калорий =

349.6

Творог

1575.

Лук

459.2

Лук

Калорий =

459.2

Яйца

1618.9

Помидоры

196.8

Помидоры

Калорий =

196.8

Говядина

1928.1

Зелень

118.9

Зелень

Калорий =

118.9

Сметана

3011.4

Рис

3512.1

Рис

Калорий =

3512.1

Рис

3512.1

Мука

3556.7

Мука

Калорий =

3556.7

Мука

3556.7

Яблоки

479.7

Яблоки

Калорий =

479.7

Сахар

4091.8

Сахар

4091.8

Сахар

Калорий =

4091.8

Майонез

6464.7

Кофе

892.4

Кофе

Калорий =

892.4

Масло

8287.5

Рисунок 2.3

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

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

FROM Продукты;

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

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


Страница: