Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2022-02-11 | 32 |
5.00
из
|
Заказать работу |
|
|
Для формирования сложных предикатов в 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 Сотрудники
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!