Равенство
Операция проверки равенства в операторе 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 *
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 Зарплата имеет значение, равное
Читать дальше