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



Download 441,57 Kb.
bet15/71
Sana15.01.2023
Hajmi441,57 Kb.
#899634
TuriМетодические указания
1   ...   11   12   13   14   15   16   17   18   ...   71
Bog'liq
Методичка SQL(14) (оптимизация)

Продукт

ккал

Говядина

NULL

Судак

NULL

Масло

8287,5

Майонез

6464,7

Яйца

1618,9

Сметана

3011,4

Кофе

892,4


Результат







Продукт







Говядина

Калорий =

NULL

Судак

Калорий =

NULL

Масло

Калорий =

8287,5

Майонез

Калорий =

6464,7

Яйца

Калорий =

1618,9

Сметана

Калорий =

3011,4

Кофе

Калорий =

892,4

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


3.2.1.4. NULL-значения в выражениях.
В некоторых ячейках результата стоит NULL. Почему?
Как правило, применение NULL-значения в выражении приводит к результату, равному NULL. Например, SELECT (5+NULL) вернет NULL, а не 5. Как и в случае простых выражений, при передаче большинству функций NULL-значений результатом будет NULL. Исключение составляют функции, специально предназначенные для работы с неопределенными значениями.
ISNULL (<проверяемое поле>,< значение, если проверяемое поле равно NULL>)
преобразует NULL-значение к значению, отличному от NULL. Тогда запрос будет выглядеть так

Результат




Продукт




Говядина

1928,1

Судак

1523

Масло

8287,5

Майонез

6464,7

Яйца

1618,9

Сметана

3011,4

Кофе

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

3.2.2. Выборка c использованием фразы WHERE.


Раздел WHERE предназначен для ограничения количества строк, включаемых в результат выборки. Будут включены только те строки, которые удовлетворяют условию отбора строк.
WHERE условие_отбора_строк
где условие_отбора_строк – выражение логического типа(TRUE, FALSE). В условии можно использовать операторы сравнения = (равно), <> (не равно), < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), которые могут предваряться оператором NOT, создавая, например, отношения "не меньше" и "не больше".
условие_отбора_строк - предназначено для объединения множества логических условий, каждое из которых возвращает выражение логического типа. Объединение выполняется с помощью операторов AND или OR.

3.2.2.1. Использование операторов сравнения.


Пример 4.


Получить перечень продуктов, содержащих менее 50 г углеводов
SELECT Продукт, Белки, Жиры, Углеводы, K, Ca, Na, B2, PP, C
FROM Продукты
WHERE (Углеводы < 50);
и получить:

Результат




























Продукт

Белки

Жиры

Углеводы

К

Са

Na

B2

PP

C

Майонез

31

670

26

480

280

NULL

NULL

NULL

NULL

Яйца

127

115

7

1530

550

710

4,4

1,9

NULL

Сметана

26

300

28

950

850

320

1

1

2

Молоко

28

32

47

1460

1210

1500

1,3

1

10

Творог

167

90

13

1120

1640

1410

2,7

4

5

Помидоры

6

NULL

42

290

140

400

0,4

5,3

250

Зелень

9

NULL

20

340

275

75

1,2

4

380

Кофе

127

36

9

9710

180

180

0,3

1,8

NULL

Пример 5.


Получить перечень продуктов, практически не содержащих углеводов и натрия
SELECT Продукт, Белки, Жиры, Углеводы, K, Ca, Na, B2, PP, C
FROM Продукты
WHERE (Углеводы = 0) AND (Na = 0);



Результат




























Продукт

Белки

Жиры

Углеводы

К

Са

Na

B2

PP

C

результат запроса пуст.


3.2.2.2. Сравнение с NULL.


Заметим, что отсутствующие и пустые значения - это две большие разницы. Целое, значение которого отсутствует, это не то же самое, что целое, значение которого равно нулю. Неопределенная строка - это не то же самое, что строка нулевой длины или строка, содержащая одни пробелы. Эта разница важна, так как сравнения между пустыми и неопределенными значениями всегда будут неудачны. Фактически, NULL-значения даже не равны друг другу в таких сравнениях.
Возможность неопределенных значений в реляционных базах данных означает, что для любого сравнения возможны три результата: Истина (True), Ложь (False) или Неизвестно (Unknown). Это требует использования трехзначной логики.

AND

True

False

Unknown

True

True

False

Unknown

False

False

False

False

Unknown

Unknown

False

Unknown




OR
True
Fa
se
Unknown
True
True
True
Tr
e
False
True
False
Unknown
Unknown
True
Unknown
Unknown






NOT

True

False

Unknown


False

True

Unknown







Для выявления равенства значения некоторого столбца неопределенному, применя­ют специальные стандартные предикаты;


<Столбец> IS NULL и < Столбец > IS NOT NULL.
Пример 6.

Результат




Продукт

Говядина

Судак
Вывести все продукты, не содержащие углеводов
SELECT Продукт
FROM Продукты
WHERE (Углеводы IS NULL) OR (Углеводы = 0);

3.2.2.3. Использование BETWEEN.


С помощью BETWEEN … AND … (находится в интервале от ... до ...) можно отобрать строки, в которых значение какого-либо столбца находятся в заданном диапазоне.
Пример 7.
Выдать перечень продуктов, в которых значение содержания белка находится в диапазоне от 10 до 50:

Результат




Продукт

Белки

Майонез

31

Сметана

26

Молоко

28

Морковь

13

Лук

17
SELECT Продукт, Белки
FROM Продукты
WHERE Белки BETWEEN 10 AND 50;

Можно задать и NOT BETWEEN (не принадлежит диапазону между), например:



Результат







Продукт

Белки

Жиры

Говядина

189

124

Масло

60

825

Яйца

127

115


SELECT Продукт, Белки, Жиры
FROM Продукты
WHERE (Белки NOT BETWEEN 10 AND 50)
AND (Жиры > 100);

BETWEEN удобен при работе с данными, задаваемыми интервалами, начало и конец которых расположен в разных столбцах.


3.2.2.4. Использование IN (NOT IN).


Задает поиск выражения, включенного или исключенного из списка. Выражение поиска может быть константой или именем столбца, а списком может быть набор констант или, что чаще, вложенный запрос. Список значений необходимо заключать в скобки.
Пример 8.
Выдать сведения о блюдах на основе яиц, крупы и овощей
SELECT *
FROM Блюда
WHERE Основа IN (’Яйца’, ’Крупа’, ’Овощи’);

Результат

















Download 441,57 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish