Операции в условиях для отбора данных
Литература
- Введение в SQL
- Введение в стандарты языка баз данных SQL
- Структуризированный язык запросов (SQL)
- Реализация языка SQL в СУБД MySQL
- PL/SQL в Oracle
- Двадцать пять заповедей SQL - Сергей Кузнецов
- Лекции по SQL" Карпукова - 227 стр.
- Краткое пособие по языку SQL
Содержание
- Что такое операции в SQL?
- Операции сравнения
- Равенство
- Неравенство
- „Меньше" и „больше"
- Примеры комбинирования операций сравнения
- Логические операции
- IS NULL
- BETWEEN
- IN
- LIKE
- EXISTS
- UNIQUE
- ALL И ANY
- Операции конъюнкции и дизъюнкции
- AND
- OR
- Отрицание условий с помощью операции отрицания
- Неравенство
- NOT BETWEEN
- NOT IN
- NOT LIKE
- IS NOT NULL
- NOT EXISTS
- NOT UNIQUE
- Арифметические операции
- Сложение
- Вычитание
- Умножение
- Деление
- Комбинирование арифметических операций
5. 4. 1 Операции в SQL.
Операции представляются зарезервированными словами или символами.
В SQL операции используются в основном в выражениях ключевого слова WHERE, где они задают сравнения и арифметические операции. Знаки операций в операторах SQL используются для задания условий и связывания нескольких условий между собой.
В ходе этого урока мы обсудим следующие типы операций.
• Операции сравнения
• Логические операции
• Операция отрицания
• Арифметические операции
Операции сравнения
Операции сравнения используются в операторах SQL для сравнивания отдельных значений и представляются знаками =, о, < и >. Эти операции предназначены соответственно для проверки равенства и неравенства значений, проверки выполнения отношений "меньше" и "больше" между ними. Суть операций сравнения раскрывается в следующих разделах.
Равенство
Операция проверки равенства в операторе SQL выясняет равенство одного значения другому. Для этого используется знак равенства (=). При выяснении равенства сравниваемые значения должны совпадать в точности, иначе запрос к базе данных не вернет никаких данных. Если сравниваемые значения равны, соответствующее выражение получает значение TRUE (Истина), иначе — FALSE (Ложь). Это логическое значение (TRUE/FALSE) используется системой для того, чтобы выяснить, должны ли соответствующие данные включаться в ответ запроса.
Операция = может использоваться отдельно или в комбинации с другими операциями. Вот пример, раскрывающий смысл операции проверки равенства.
Пример________________________________Значение______
WHERE SALARY = '20000' Зарплата равна 20000
Следующий запрос возвращает все строки данных с PROD_ID равным 2345.
Ввод:
SELECT * FROM PRODUCTSJTBL WHERE PROD_ID = '2345';
Вывод:
PROD_ID PROD_DESC COST
2345 ПОЛОЧКА ИЗ ДУБА 59.99
1 строка выбрана.
Неравенство
В противоположность равенству существует неравенство. В SQL для представления проверки неравенства используется знак о (комбинация знаков "меньше" и "больше"). В этом случае условие возвращает TRUE, если обнаруживается неравенство значений, и FALSE — если равенство.
Во многих из основных реализаций SQL эквивалентом знака операции о является комбинация ' = Уточните в документации, является ли эта комбинация применимой в вашем конкретном случае.
Пример________________________________Значение________
WHERE SALARY <>'20000' Зарплата не равна 20000
Ввод:
SELECT * FROM PRODUCTS_TBL WHERE PROD_ID <> '2345';
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
10 строк выбраны.
„Меньше" и „больше"
Знаки < ("меньше") и > ("больше") можно использовать по отдельности, и в комбинации с другими операциями.
Пример__________________________________Значение____
WHERE SALARY < '20000' Зарплата меньше 20000
WHERE SALARY > '20000' Зарплата больше 20000
В первом случае любое значение, меньшее 20000, вернет TRUE, а равное или большее 20000 — FALSE. Операция "больше" является противоположной к операции "меньше".
Ввод:
SELECT * FROM PRODUCTS_TBL WHERE COST > 20;
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
2345 ПОЛОЧКА ИЗ ДУБА 59.99
2 строки выбраны.
В следующем примере обратите внимание на то, что значение 24.99 не включено в вывод результата запроса.
Ввод:
SELECT * FROM PRODUCTS_TBL WHERE COST < 24.99;
Вывод:
PROD_ID PROD_DESC COST
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
9 строк выбраны.
Примеры комбинирования операций сравнения
Знак равенства можно комбинировать со знаками "меньше" и "больше", как в следующих примерах.
Пример_____________________________Значение_________
WHERE SALARY <= '20000' Зарплата меньше или равна 20000
WHERE SALARY >= '20000' Зарплата больше или равна 20000
"Меньше или равно" включает значение 20000 и все значения, меньшие 20000. Любое такое значение вернет TRUE, а любое значение, большее 20000, вернет FALSE. Подобным образом определяется "больше или равно". В данном случае, в отличие от строгих неравенств, значение 20000 возвращает TRUE.
Ввод:
SELECT * FROM PRODUCTS_TBL WHERE COST <= 24.99;
Вывод:
PROD__ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 9.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
б ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
10 строк выбраны.
Логические операции
Логические операции в SQL задаются ключевыми словами, а не символами. Ниже мы рассмотрим следующие логические операции.
• IS NULL . EXISTS
• BETWEEN
• UNIQUE
• IN
• ALL И ANY
• LIKE
IS NULL
Ключевое слово is NULL используется для проверки равенства данного значения значению NULL. Например, если требуется узнать, кто из сотрудников не имеет пейджера, можно искать значения NULL в столбце PAGER таблицы EMPLOYEEJTBL.
Вот пример проверки равенства значения значению NULL.
Пример__________________________Значение_____________
WHERE SALARY is NULL Для зарплаты не задано значение
Вот пример, в котором значение NULL не будет найдено.
Пример_________________________Значение______________
WHERE SALARY = NULL Зарплата имеет значение, равное
строке символов N-U-L-L
Ввод:
SELECT EMP_ID, LAST NAME, FXRST_NAME, PAGER
FROM EMPLOYEE_TBL
WHERE PAGER IS NULL;
Вывод:
EMP_ID LAST_NAME FIRST_NAME PAGER
311549902 STEPHENS TINA
442346889 PLEW LINDA
220984332 WALLACE MARIAH
443679012 SPURGEON TIFFANY
4 строки выбраны.
Вы должны понимать, что буквальная строка 'NULL' отличается от значения NULL. Посмотрите на следующий пример.
Ввод:
SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER
FROM EMPLOYEE_TBL
WHERE PAGER = NULL;
Вывод:
О строк выбрано.
BETWEEN
Ключевое слово BETWEEN используется для поиска значений, попадающих в диапазон, заданный некоторыми минимальным и максимальным значениями. Эти минимальное и максимальное значения включаются в соответствующее условие.
Пример__________________________________Значение___________
WHERE SALARY BETWEEN '20000' Зарплата должна находиться в диапазоне
AND '30000' от 20000 до 30000, включая крайние значения диапазона
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE BETWEEN 5.95 AND 14.5;
Вывод:
PROD_ID PROD_DESC COST
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
4 строки выбраны.
Обратите внимание на то, что в вывод включены крайние значения 5. 95 и 14 .5.
BETWEEN предполагает включение минимального и максимального значений диапазона в результаты запроса.
IN
Ключевое слово IN используется для сравнения значения с заданным списком буквальных значений. Чтобы возвратилось TRUE, сравниваемое значение должно совпадать хотя бы с одним значением из списка.
Пример__________________________________________Значение______
WHERE SALARY IN ('20000', Зарплата должна равняться 20000, 30000 или
'30000', '40000') 40000
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID IN <'13','9','87','119');
Вывод:
PROD_ID PROD_DESC COST
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
9 СЛАДКАЯ КУКУРУЗА 1.35
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
4 строки выбраны.
То же самое можно получить, комбинируя условия с помощью ключевого слова OR, но с помощью IN результат получается быстрее.
LIKE
Ключевое слово LIKE используется для нахождения значений, похожих на заданное. В данном случае предполагается использование следующих двух знаков подстановки:
• знак процента (%);
• знак подчеркивания (_).
Знак процента представляет ноль, один или несколько символов. Знак подчеркивания представляет один символ или число. Знаки подстановки могут использоваться в комбинации.
Вот несколько примеров.
Пример_________________________Значение_________________
WHERE SALARY LIKE '200%' Любое значение, начинающееся с 200
WHERE SALARY LIKE ' %200% ' Любое значение, имеющее 200 в любой позиции
WHERE SALARY LIKE '_00%' Любое значение, имеющее 00 во второй и третьей
позициях WHERE SALARY LIKE ' 2_%_%' Любое значение, начинающееся с 2 и состоящее
как минимум из трех символов
WHERE SALARY LIKE '%2' Любое значение, заканчивающееся 2
WHERE SALARY LIKE '_2%3' Любое значение, имеющее 2 во второй позиции и
заканчивающееся 3
WHERE SALARY LIKE '2__3' Любое значение длиной 5 символов, начинающееся с 2 и
заканчивающееся 3
В следующем примере выбираются описания для тех товаров, описания которых заканчиваются на "ы".
Ввод:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '%Ы';
Вывод:
PROD_DESC
КОСТЮМ ВЕДЬМЫ
ПЛАСТИКОВЫЕ ТЫКВЫ
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
ТЫКВЕННЫЕ КОНФЕТЫ
4 строки выбраны.
В следующем примере выбираются описания товаров с буквой "Ы" во второй позиции.
Ввод:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC LIKE '_Ы%';
Вывод:
PROD_DESC
ТЫКВЕННЫЕ КОНФЕТЫ
1 строка выбрана.
EXISTS
Ключевое слово EXISTS используется для поиска в таблице строк, удовлетворяющих заданным критериям.
Пример______________________________Значение______
WHERE EXISTS (SELECT EMP_ID Проверка наличия EMP_ID со значени-
FROM EMPLOYEE_TBL ем 333333333 в таблице EMPLOYEE_TBL
WHERE EMPLOYEE_ID = '333333333') -
В следующем примере в операторе используется подчиненный запрос, обсуждение которых планируется провести в ходе урока 14, "Использование подзапросов".
Ввод:
SELECT COST
FROM PRODUCTSJTBL
WHERE EXISTS ( SELECT COST
FROM PRODUCTS_TBL
Вывод:
WHERE COST > 100 );
О строк выбраны.
В данном случае не выбрано ни одной строки, поскольку в таблице нет записей для товаров с ценой, большей 100. Рассмотрим другой пример.
Ввод:
SELECT COST
FROM PRODUCTSJTBL
WHERE EXISTS ( SELECT COST
FROM PRODUCTS_TBL
WHERE COST < 100 );
Вывод:
COST
--------
29.99
7.75
1.1
14.5
1.35
1.45
1.05
4.95
5.95
59.99
11 строк выбраны.
Теперь показаны цены для всех тех строк таблицы, для которых эти цены меньше 100.
UNIQUE
Ключевое слово UNIQUE используется для проверки строк заданной таблицы на уникальность (т. е. отсутствие повторений).
Пример_____________________________Значение____________
WHERE UNIQUE (SELECT SALARY Проверка SALARY на наличие повторе-
FROM EMPLOYEEJTBL ний
WHERE EMPLOYEE_ID = '333333333')
ALL И ANY
Ключевое слово ALL используется для сравнения заданного значения со всеми значениями из некоторой другой выборки значений.
Пример_____________________________Значение___________
WHERE SALARY > ALL (SELECT SALARY Проверка значения SALARY на предмет
FROM EMPLOYEE_TBL превышения им всех значений зарпла-
WHERE CITY - ' INDIANAPOLIS ' ) ты служащих из Индианаполиса
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE COST > ALL ( SELECT COST
FROM PRODUCTS_TBL
WHERE COST < 10 );
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
2345 ПОЛОЧКА ИЗ ДУБА 59.99
4 строки выбраны.
В этом выводе представлены все четыре записи для товаров, стоимость которых превышает стоимость товаров стоимостью меньше 10.
Ключевое слово ANY используется для сравнения заданного значения с любым из значений некоторой другой выборки значений.
Пример___________________________________Значение___________
WHERE SALARY > ANY (SELECT SALARY Проверка значенияSALARY на Пред-
FROM EMPLOYEE_TBL мет превышения им какого-нибудь из
WHERE CITY = 'INDIANAPOLIS') значений зарплаты для служащих из
Индианаполиса
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE COST > ANY ( SELECT COST
FROM PRODUCTS_TBL
WHERE COST < 10 );
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
2345 ПОЛОЧКА ИЗ ДУБА 59.99
10 строк выбраны.
Этот запрос возвращает больше строк, чем предыдущий запрос с использованием ALL, поскольку в данном случае стоимость должна превышать стоимость какого-нибудь товара стоимостью, меньшей 10. Единственной не показанной записью оказалась запись для товара стоимостью 1.05, для которого не нашлось товара с меньшей стоимостью из тех, что стоят меньше 10.
Операции конъюнкции и дизъюнкции
Как быть, если необходимо использовать несколько условий, чтобы сузить набор возвращаемых запросом данных? Нужно скомбинировать условия с помощью операций конъюнкции и дизъюнкции. Эти операции задаются с помощью ключевых слов AND и OR.
AND
Ключевое слово AND позволяет связать логическим умножением два условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, оба связанные ключевым словом AND условия должны возвратить TRUE.
Пример_________________________________Значение______________
WHERE EMPLOYEE_ID = '333333333' ЗначениеEMPLOYEE_ID должно быть
AND SALARY = '20000' равным 333333333, а значение SALARY
должно быть равным 20000
Ввод:
SELECT *
FROM PROOCTS_TBL
WHERE COST > 10
AND COST < 30;
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
90 ФОНАРИ 14.5
2 строки выбраны.
В данном случае требуется, чтобы для показанных товаров стоимость была больше 10 и меньше 30.
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID = '7725'
AND PROD_ID = '2345';
Вывод:
О строк выбраны.
Здесь вывод не содержит данных, поскольку каждая строка данных имеет только один код товара.
OR
Ключевое слово OR позволяет связать логическим сложением условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, хотя бы одно из связанных ключевым словом AND условий должно возвратить TRUE.
Пример______________________Значение___________________
WHERE SALARY = ' 20000 ' Значение SALARY должно быть равным ли-
OR SALARY = '30000' бо 20000, либо 30000
Операции сравнения и логические операции в выражениях могут использоваться самостоятельно или в комбинации с другими подобными операциями.
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE PROD_ID = '7725'
OR PROD_ID = '2345';
Вывод:
PROD_ID PROD_DESC COST
2345 ПОЛОЧКА ИЗ ДУБА 59.99
1 строка выбрана.
В данном случае для внесения данных в результат запроса хотя бы одно из условий должно возвратить TRUE. Найдена одна подходящая запись.
При использовании в операторе SQL нескольких условий для зрительного разделения условий на логично связанные группы можно использовать круглые скобки, что существенно облегчает чтение и понимание оператора. Но не забывайте о том, что неправильно расставленные скобки могут привести к неверным результатам при выводе.
В следующем примере использовано одно ключевое слово AND и два OR. Обратите внимание на размещение скобок.
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE COST >10
AND ( PROD_ID = '222'
OR PROD_ID = '90'
OR PROD_ID = '11235' ) ;
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
90 ФОНАРИ 14.5
2 строки выбраны.
В этом примере стоимость должна превышать 10, а код товара должен быть любым из трех указанных. В вывод не попала строка для товара с кодом 222 из-за стоимости, которая оказалась не больше 10.
Отрицание условий с помощью операции отрицания
Для всех выше рассмотренных типов операций можно построить их отрицания, чтобы таким образом рассмотреть противоположные условия.
Ключевое слово NOT обращает смысл операции, с которой оно используется. Ключевое слово NOT используется с операциями следующим образом.
• NOT BETWEEN
• IS NOT NULL
• NOT IN
• NOT EXISTS
• NOT LIKE
• NOT UNIIQUE
Все эти возможности будут рассмотрены в следующих разделах.
Неравенство
Вы уже знаете о возможности проверки неравенства с помощью операции о. Неравенство упоминается здесь потому, что при проверке неравенства вы фактически отрицаете операцию проверки равенства. Вот другой метод представления операции проверки неравенства, доступный в некоторых реализациях SQL.
Пример_________________________Значение____________
WHERE SALARY о '20000' Зарплата не равна 20000
WHERE SALARY != '20000' Зарплата не равна 20000
Во втором случае для отрицания равенства используется восклицательный знак. В некоторых реализациях SQL в дополнение к стандартному знаку неравенства о используется восклицательный знак ! в совокупности со знаком = как отрицание равенства.
Проверьте по документации используемой вами реализации SQL, допускается ли в ней применение восклицательного знака для отрицания равенства.
NOT BETWEEN
Отрицание операции BETWEEN используется следующим образом.
Пример_____________________Значение___________________
WHERE SALARY NOT BETWEEN Зарплата не должна находиться в диапазоне от
'20000' AND '30000' 20000 до 30000, включая крайние значения
диапазона
Ввод:
SELECT *
FROM PRODUCTS_TBL
WHERE NOT BETWEEN 5.95 AND 14.5;
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
2345 ПОЛОЧКА ИЗ ДУБА 59.99
7 строк выбраны.
Не забывайте о том, что BETWEEN предполагает включение в рассмотрение границ диапазона. Именно поэтому в данном примере строки со значениями 5.95 и 14 .5 выведены не были.
NOT IN
Отрицанием IN является NOT IN. В следующем примере любое из возвращенных значений зарплаты не должно равняться какому-нибудь значению из заданного списка.
Пример________________________________Значение______
WHERE SALARY NOT IN ('20000', Зарплата не должна равняться20000, 30000
'30000', '40000') или 40000
Ввод:
SELECT *
FROM PRODUCTSJTBL
WHERE PROD_ID NOT IN (•13','9•,'87','119');
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
2345 ПОЛОЧКА ИЗ ДУБА 59.99
7 строк выбраны.
В данном случае не показаны строки для товаров с кодами из списка, указанного после NOT IN.
NOT LIKE
Ключевое слово NOT LIKE является отрицанием операции подстановки LIKE для нахождения значений, не похожих на заданное. Вот несколько примеров.
Пример___________________________________Значение __________________
WHERE SALARY NOT LIKE '200%' Любое значение, не начинающееся с 200
WHERE SALARY NOT LIKE '%200%' Любое значение, не имеющее 200 ни в какой
позиции
WHERE SALARY NOT LIKE '_00%' Любое значение, не имеющее 00 во второй и
третьей позициях
WHERE SALARY NOT LIKE '2_%_%' Любое значение, не начинающееся с 2 и
состоящее как минимум из трех символов
Ввод:
SELECT PROD_DESC
FROM PRODUCTS_TBL
WHERE PROD_DESC NOT LIKE 'П%';
Вывод:
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
8 строк выбраны. В этом примере выбираются описания товаров, не начинающиеся на букву "П".
IS NOT NULL
Ключевое слово IS NOT NULL обозначает отрицание операции is NULL и используется, когда нужно убедиться, что заданное значение не является пустым.
Пример__________________________Значение____________________
WHERE SALARY is NOT NULL Выбрать только строки с непустыми значениями.
Ввод:
SELECT EMP_XD, LAST_NAME, FIRST_NAME, PAGER
FROM EMPLOYEEJTBL
WHERE PAGER IS NOT NULL;
Вывод:
EMP_ID LAST_NAME FIRST_NAME PAGER
213764555 GLASS BRANDON 3175709980
313782439 GLASS JACOB 8887345678
2 строки выбраны.
NOT EXISTS
Ключевое слово NOT EXISTS используется как отрицание EXISTS.
Пример___________________________Значение_________________
WHERE NOT EXISTS (SELECT EMP_ID Проверка отсутствия ЕМР ID со зна
FROM EMPLOYEE TBL чением 333333333333 в таблице
WHERE EMPLOYEE_ID = -333333333') EMPLOYEE_TBL
Ввод:
SELECT MAX(COST)
FROM PRODUCTS_TBL