Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


SELECT * FROM Customers WHERE city IS NULL


Download 1.45 Mb.
bet24/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   20   21   22   23   24   25   26   27   ...   172
Bog'liq
Грубер. Понимание SQL

SELECT *
FROM Customers
WHERE city IS NULL;

Здесь не будет никакого вывода, потому что мы не имеем никаких значений NULL в наших типовых таблицах. Значения NULL — очень важны, и мы вернемся к ним позже.
ИСПОЛЬЗОВАНИЕ NOT СО СПЕЦИАЛЬНЫМИ ОПЕРАТОРАМИ
Специальные операторы которые мы изучали в этой главе могут немедленно предшествовать Булеву NOT.
Он противоположен реляционным операторам, которые должны иметь оператор NOT вводимым выражением. Например, если мы хотим устранить NULL из нашего вывода, мы будем использовать NOT, чтобы изменить на противоположное значение предиката:
SELECT *
FROM Customers
WHERE city NOT NULL;

При отсутствии значений NULL (как в нашем случае), будет выведена вся таблица Заказчиков. Аналогично можно ввести следующее:
SELECT *
FROM Customers
WHERE NOT city IS NULL;

что также приемлемо.
Мы можем также использовать NOT с IN:
SELECT *
FROM Salespeople
WHERE city NOT IN ( 'London', 'San Jose' );

А это — другой способ подобного же выражения:
SELECT *
FROM Salespeople
WHERE NOT city IN ( 'London', ' San Jose' );

Вывод для этого запроса показывается в Рисунке 5.9.
=============== SQL Execution Log ============
| SELECT * |
| FROM Salespeople |
| WHERE sity NOT IN ('London', 'San Jose'; |
| ==============================================|
| snum sname city comm |
| ------ ---------- ----------- ------- |
| 1003 Rifkin Barcelona 0.15 |
| 1007 Axelrod New York 0.10 |
===============================================

Рисунок 5.9: Использование NOT с IN


Таким же способом Вы можете использовать BETWEEN_и_NOT_LIKE_.__РЕЗЮМЕ'>NOT BETWEEN и NOT LIKE.
РЕЗЮМЕ
Теперь вы можете создавать предикаты в терминах связей специально определенных SQL. Вы можете искать значения в определенном диапазоне (BETWEEN) или в числовом наборе (IN), или вы можете искать символьные значения которые соответствуют тексту внутри параметров (LIKE).
Вы также изучили некоторые вещи относительно того, как SQL поступает при отсутствии данных — что реальность мировой базы данных — используя NULL вместо конкретных значений. Вы можете извлекать или исключать значения NULL из вашего вывода используя оператор IS NULL.
Теперь, когда вы имеете в вашем распоряжении весь набор стандартных математических и специальных операторов, вы можете переходить к специальным функциям SQL, которые работают на всех группах значений, а не просто на одиночном значении, что важно. Это уже тема Главы 6.
РАБОТА С SQL

  1. Напишите два запроса которые могли бы вывести все порядки на 3 или 4 Октября 1990

  2. Напишите запрос который выберет всех заказчиков обслуживаемых продавцами Peel или Motika. (Подсказка: из наших типовых таблиц, поле snum связывает вторую таблицу с первой)

  3. Напишите запрос, который может вывести всех заказчиков, чьи имена начинаются с буквы попадающей в диапазон от A до G.

  4. Напишите запрос который выберет всех пользователей чьи имена начинаются с буквы C.

  5. Напишите запрос который выберет все порядки имеющие нулевые значения или NULL в поле amt (сумма).

(См. Приложение A для ответов.)



Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   172




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