Булевы операторы
· AND– берет два булевых выражения (в виде A и B) в качестве аргументов и дает в результате истину, если оба истинны.
· OR – берет два булевых выражения (в виде A и B) в качестве аргументов и дает в результате истину, если хотя бы один из них истинен.
· NOT–берет единственное булево выражение (в виде not B) в качестве аргумента и изменяет его значение с истинного на ложное или с ложного на истинное.
· XOR– берет два булевых выражения (в виде A и B) в качестве аргументов и дает в результате истину, если один из них истинен (исключающее ‘или’, строгая дизъюнкция).
Отличие XORотOR (таблица истинности)
A | B | A or B | A xor B |
Операция XOR, в отличие от OR, возвращает значение "ложь" (false) и в том случае, когда все связанные ей логические выражения истинны.
Пример 3. Используя данные таблицы Поступление товара,найти товары, поступившие на 14.03.2007, цена которых превышает 300 евро.
SELECT *
FROM [ПОСТУПЛЕНИЕ ТОВАРА]
WHERE [дата поступления]=#3/14/2007# AND цена>300;
Результат выполнения запроса
ОператорIN
Пример 4 .Используя данные таблиц Поставщики и Товары, найти товары, произведенные в Москве и в Спб.
SELECT ТОВАРЫ.[наименование товара], ПОСТАВЩИКИ.Адрес
FROM ПОСТАВЩИКИ, ТОВАРЫ
WHERE ПОСТАВЩИКИ.Адрес In ("Москва","СПб") AND ПОСТАВЩИКИ.[Код поставщика]=ТОВАРЫ.[код поставщика];
Таблица “Поставщики”
Таблица “Товары”
Результат выполнения запроса
Оператор Between
Синтаксическая конструкция этого оператора имеет вид:
<поле> BETWEEN <значение 1> and <значение 2>
Пример 5.Используя данные из таблицы Поступление товара, найти товары, стоимость которых от 300 евро до 500 евро.
SELECT *
FROM [ПОСТУПЛЕНИЕ ТОВАРА]
WHERE [ПОСТУПЛЕНИЕ ТОВАРА].[ЦЕНА] BETWEEN 300 AND 500;
или
SELECT *
FROM [ПОСТУПЛЕНИЕ ТОВАРА]
WHERE ЦЕНА Between 300 And 500;
Результат выполнения запроса
Оператор LIKE
Синтаксис этого оператора:
<поле> LIKE <шаблон>
Правила построения шаблона следующие:
Образец | В результирующей строке |
? | Любой одиночный символ |
* | Любое кол-во символов |
# | Любая цифра от 0 до 9 |
[набор символов] | Любой одиночный символ, входящий в набор символов |
[A-Z] | Любой одиночный символ от ‘A’ до ‘Z’ |
[A-Za-я] | Любой одиночный символ от ‘A’ до ‘Z’ или из диапазона от ‘а’ до ‘я’ |
P[A-Z]### | Первый символ ‘Р’, второй из диапазона от ‘A’ до ‘Z ‘и три цифры |
Пример 6.Предположим, мы точно не знаем наименование поставщика. Требуется найти всех поставщиков в таблице Поставщики, наименование которых начинается на ‘ООО’
SELECT *
FROM ПОСТАВЩИКИ
WHERE Поставщик Like "ООО*";
Результат выполнения запроса
Пример 7.на основе таблицы Поступление товаравыведите список товаров, поступивших на определенную дату (на одну и ту же дату), цена которых не больше 300 евро.
SELECT DISTINCT [a].[Код товара], [a].[Дата поступления], [a].[Цена]
FROM [ПОСТУПЛЕНИЕ ТОВАРА] as a,[ПОСТУПЛЕНИЕ ТОВАРА] as b
WHERE [a].[Дата поступления]=[b].[Дата поступления] AND
[a].[Код товара]<>[b].[Код товара] AND a.Цена<=300;
Результат выполнения запроса
Здесь мы использовали псевдонимы для именования отношения Поступление товараa и b, так как для записи условий поиска нам необходимо работать сразу с двумя экземплярами данного отношения.
Дата добавления: 2015-07-24; просмотров: 935;