Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Значення NULL





Значення NULL в SQL – це невідоме значення, яке не слід плутати з порожнім. Порожнє значення – це відсутність даних, у випадку ж значення NULL ми не знаємо, яке значення повинне бути записане в даному полі. Значення NULL трактуються в SQL особливим чином, і ми продемонструємо це простим прикладом порівняння значень NULL з порожніми в SQL Server.

Подивимося, чи можна встановити рівність двох порожніх значень і проробимо те ж саме зі значеннями NULL:

Таким чином, порожні значення рівні один одному, значення NULL – не рівні, що інтуїтивно зрозуміло, тому що це невідомі значення, а два невідомих значення не повинні обов’язково бути рівні один одному. Цю властивість значень NULL потрібно завжди пам’ятати при складанні SQL-операторів. NULL – особливі значення й тому вимагають особливого ставлення. В умові WHERE передбачений спеціальний критерій для значень NULL – IS NULL. Спробуємо застосувати його.

СПРОБУЙТЕ – Застосування значень NULL

Спробуємо скласти список клієнтів, які не мають факсу.

1 Поле Факс, що зберігає дані про номер факсу клієнта. Отже, якщо у клієнта нема факсу, в таблиці Клиенты бази даних значення цього поля буде мати значення NULL. Саме цією обставиною ми й скористаємося, указавши як критерій наявність значення NULL у поле Факс.

2 Уведемо наступний SQL-оператор:

SELECT Название

FROM Клиенты

WHERE Факс IS NULL;

3 Результат буде наступним:

 


Як це працює

Для перевірки значень NULL застосовується ключове слово IS. Як ми показали вище, значення NULL не можна рівняти до чого б то не було, у тому числі й до іншого значення NULL. Із цим значенням не можна проводити ні обчислень, ні порівнянь. Єдино можлива дія над цим значенням – перевірка, чи дійсно воно є таким, і ця операція задається ключовим словом IS.

Як уже була сказано, IS NULL – операція особливого виду, застосовувана для перевірки значень NULL. Операція рівності (=) замість цього значення незастосовна:

3.2 Обчислення в умові WHERE

Критерії пошуку в умові WHERE можуть мати обчислення над полями таблиць.

Приміром, нам може знадобитися список товарів на складі, загальна вартість яких перевищує 140 000 російських рублів:

SELECT Марка, НаСкладе * Цена AS Стоимость

FROM Товары

WHERE НаСкладе * Цена > 140000;

У результаті одержимо всього кілька записів:

SQL Server містить ряд процедур обчислень над датами – наприклад, для визначення числа днів між двома датами. Ми докладно розглянемо їх у далі, що ж стосується розглянутих тут загальних принципів, то вони застосовні до поля будь-якого типу.

Застосування умови WHERE забезпечує ряд нових можливостей. Одна з найцінніших особливостей SQL – здатність виконувати обчислення не тільки в порядковому режимі, але в будь-якому місці таблиці. Наприклад, умовою WHERE можна скористатися для фільтрації по всіх замовленнях або по середньому замовленню (після виконання обчислень по всій таблиці для визначення цього самого середнього замовлення). Ми поговоримо про обчислення докладніше в наступних темах.

СПРОБУЙТЕ – Фільтрація за розрахованими значеннями

Припустимо, нам потрібен був список замовлень, в яких сума замовленого товару перевищує 100 000 російських рублів.

1 Інформація про замовлені товари зберігається в таблиці Заказано.

2 Очевидно, вартість замовлення того чи іншого товару дорівнює добутку значень, записаних у полях Количество і Цена.

3 Тепер можна скласти запит, у якому критерієм умови буде перевищення добутку значень двох полів. Складемо й уведемо наступний запит:

SELECT КодЗаказа, Цена * Количество

FROM Заказано

WHERE Цена * Количество > 100000

4 Як бачимо, обчислюваний стовпець у результаті не має імені:


5 Привласнимо стовпцю ім’я [Сума товару], скориставшись ключовим словом AS і отримали результат:

i Зверніть увагу на наявність пробілу в імені поля, внаслідок чого його потрібно вписувати в квадратні дужки.

Як це працює

У процесі виконання цього запиту, по кожному рядку виконується обчислення повної вартості замовленого товару. Якщо результат обчислення перевищує 100 000, рядок додається в результат, інакше – відкидається.

Зверніть увагу, що обчислення виконуються по кожному рядку даних. Слід дотримуватися обережності із застосуванням подібних складних обчислень, що істотно сповільнюють обробку великих наборів даних. Якщо такі обчислення доводиться проводити над даними, які міняються рідко (приміром, дані про покупки), можна подумати над створенням таблиці для зберігання обчислених значень.

Common Errors

У запитах цього типу виникає, власне кажучи, тільки одна помилка – повернення невірного результату. Причина, як правило – у логічній помилці або помилці обчислень. Перевірте ще раз логікові оператори, щоб переконатися в правильній фільтрації.

Помилка Повідомлення або причина
Неправильний результат Як правило, наслідок помилки в логіці. Перевірте ще раз правильність операторів і формул.






Дата добавления: 2014-12-06; просмотров: 570. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

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

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Studopedia.info - Студопедия - 2014-2026 год . (0.013 сек.) русская версия | украинская версия