Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Операции сравнения, логические и арифметические операции

2022-02-11 58
Операции сравнения, логические и арифметические операции 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

Для формирования сложных предикатов в SQL можно использовать следующие операции (табл.6).

Таблица 6.

Логические и другие операции в SQL

Операция Назначение
> Сравнивает два значения и возвращает «истину», если значение слева от оператора больше значения справа
< Сравнивает два значения и возвращает «истину», если левое значение меньше значения справа
>= Сравнивает два значения и возвращает «истину», если левое значение больше или равно значения справа
<= Сравнивает два значения и возвращает «истину», если левое значение меньше или равно значения справа
= Сравнивает два значения и возвращает «истину», если левое значение равно значения справа
<> Сравнивает два значения и возвращает «истину», если левое значение не равно значения справа
AND Логическая операция И (конъюнкция)
OR Логическая операция ИЛИ (дизъюнкция)
NOT Логическая операция НЕ (отрицание)
+ Сложение двух чисел
- Вычитание
* Умножение
/ Деление
& Конкатенация (объединение двух строк или двух любых разнотипных значений)

 

Пример 1. Пусть необходимо найти жилье в Пензе стоимостью не более 400 рублей в сутки.

Select Улица, Город, Плата

From Жилье

Where Город=’Пенза’ AND Плата<=400;

 

Для формирования более сложных предикатов можно использовать скобки, определяющие порядок вычисления значения предиката.

Предположим, нужно вывести цену за аренду жилья и рядом налог на имущество, выплачиваемый за это жилье. Результат выдать отсортированный по полям «город» и «адрес». Пусть налог на имущество за месяц представляет собой фиксированную сумму, равную 40 рублям плюс 13% от стоимости аренды:

 

SELECT Жилье.Ж No, Жилье.Город, Жилье.Улица, Жилье.Плата,

'40 руб. + 13%' AS СтавкаНалога,

(40+ Жилье.Плата*13/100)&'рублей' AS Налог

FROM Жилье

ORDER BY Город, Улица;

Результат:

 

 

ЖNo Город Улица Плата СтавкаНалога Налог
ЖА14 Астрахань ул.Н-16 650,00р. 40 руб. + 13% 124,5рублей
ЖЛ94 Москва ул.А-6 400,00р. 40 руб. + 13% 92рублей
ЖЖ21 Пенза ул.D-18 600,00р. 40 руб. + 13% 118рублей
ЖЖ4 Пенза ул.L-6 350,00р. 40 руб. + 13% 85,5рублей
ЖЖ16 Пенза ул.N-5 450,00р. 40 руб. + 13% 98,5рублей
ЖЖ36 Пенза ул.М-2 375,00р. 40 руб. + 13% 88,75рублей

 

Пример 2. Выдать список сотрудников мужского пола старше 55 лет и женского пола старше 45 лет. В данном примере будем использовать дополнительную функцию Date (), которая возвращает текущую дату. Аналог такой функции присутствует в различных реализациях СУБД, но не рассматривается стандартом SQL:

 

Select Имя, Фамилия, Дрожд

From Сотрудники

Where (Пол=’М’ AND (Date()- Дрожд)>55) OR

(Пол=’Ж’ AND (Date ()- Дрожд)>45);

Использование специальных операторов IN, BETWEEN, LIKE

Для определения более сложных выражений в предикатах с одной стороны и упрощения внешнего вида предикатов – с другой в SQL используются различные дополнительные операторы (табл.7).

Таблица 7.

Специальные операторы

Оператор, пример Назначение
<поле> IN (знач.1, знач.2, …) Пример. SELECT * FROM Сотрудники WHERE Ф no IN (‘ Ф 3’, ‘ Ф 7’); Определяет набор значений (множество), в которое данное значение может или не может быть включено. Обычно проверяется, принадлежит ли значение некоторого поля указанному множеству
<поле> BETWEEN <Мin Знач> AND <МахЗнач> Пример. SELECT * FROM Сотрудники WHERE ЗП BETWEEN 9000 AND 20000; Определяет диапазон, значения которого должны увеличиваться от возможного минимального значения (<МinЗнач>) до максимального (<Мах Знач>) и возвращает истину, если проверяемое поле принадлежит данному диапазону. Значение может быть как числовым, так и символьным
<поле> LIKE <шаблон>   Пример. SELECT * FROM Сотрудники WHERE Фамилия LIKE ‘Б%’; Проверяет, совпадает ли значение проверяемого поля с шаблоном. В качестве метасимволов шаблонов используются: символ подчеркивания (_), который замещает любой одиночный символ; символ процента (%) замещает последовательность любого количества символов

 

Замечания.

1. Оператор BETWEEN включает в результат граничные значения, поэтому, для того чтобы исключить граничные значения, можно использовать оператор IN. Например, необходимо выдать список всех сотрудников, зарплата которых больше 9000, но меньше 20000, т.е. граничные значения не включаются в результат. Тогда запрос может быть таким:

 

SELECT * FROM Сотрудники


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.