Студопедия — Использование в SQL-запросе сложных выражений и функций для вывода определенных записей
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Использование в SQL-запросе сложных выражений и функций для вывода определенных записей






В области слова <$I[] WHERE в SQL-инструкции SELECT > WHERE можно располагать довольно сложное условное выражение с использованием знаков логических операций и функций. Например:

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 > 50 AND Цена1 200

или

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 > 50 AND Len(НаимТовара) < 20

В первом случае запрашиваются товары, оптовая цена которых находится в диапазоне оптовых цен (55–200), а во втором — цены которых больше 50 денежных единиц и длина наименования не превышает 20 символов.

Замечание

При работе с SQL-инструкциями в Access и из VB- или VBA-кода можно использовать, кроме функций языка SQL Microsoft Jet, встроенные функции языка Visual Basic.

Кроме операций <; и >;, в инструкции SELECT можно использовать операции = (равно), <= (меньше или равно) и >= (больше или равно), а также <$I[] AND в SQL-инструкции SELECT > AND, <$I[] OR в SQL-инструкции SELECT > OR и <$I[] NOT в SQL-инструкции SELECT > NOT. Но еще б о льшие возможности по отбору необходимых записей предоставляют такие операторы, как <$I[] IS NULL в SQL-инструкции SELECT > IS NULL, <$I[] BETWEEN в SQL-инструкции SELECT > BETWEEN, <$I[] IN в SQL-инструкции SELECT > IN <$I[] LIKE в SQL-инструкции SELECT > и LIKE.

Оператор IS NULL позволяет найти в таблице записи, в полях которых не указаны данные, например:

SELECT НаимТовара AS [Наименование товара], Цена1 AS [Цена закупочная]

FROM Товары

WHERE Цена2 IS NULL OR Цена1 < 50

Оператор BETWEEN позволяет указать диапазон, в котором находятся данные некоторого поля, например:

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 BETWEEN 42 AND 120

Оператор IN позволяет указать список, в котором находятся данные некоторого поля, например:

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 IN (42, 105,750)

В SQL-инструкции можно также использовать оператор LIKE, например инструкция:

SELECT НаимТовара as [Наименование товара],Цена1 as [Цена закупочная]

FROM Товары

WHERE НаимТовара LIKE "(VCD)*"

позволяет получить только те записи (рис. 15.12), у которых в наименовании первые пять символов совпадают со строкой " (VCD)";.

Рис. 15.12

Вывод только тех записей, у которых в наименовании первые пять символов совпадают со строкой "(VCD)"

Оператор LIKE можно использовать для контекстного поиска, например, если пользователь введет текстовую строку, содержащую часть наименования товара, то эту строку легко использовать в виде шаблона. Следующая инструкция выполняет поиск записи, в которой наименование содержит в качестве подстроки строку " (мишень)"; (результат — на рис. 15.13):

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE НаимТовара LIKE "*мишень*"

Рис. 15.13

Результат использования инструкции, которая выполняет поиск записи, где наименование содержит в качестве подстроки строку “мишень”

Оператор NOT, который инвертирует логическое выражение, может использоваться с операторами IS NULL, BETWEEN, IN, LIKE. При этом, практически, речь идет об операторах <$I[] IS NOT NULL в SQL-инструкции SELECT > IS NOT NULL, <$I[] NOT BETWEEN в SQL-инструкции SELECT > NOT BETWEEN, <$I[] NOT IN в SQL-инструкции SELECT > NOT IN и <$I[] NOT LIKE в SQL-инструкции SELECT > NOT LIKE, например, как в следующих четырех инструкциях:

SELECT НаимТовара AS [Наименование товара], Цена1 AS [Цена закупочная]

FROM Товары

WHERE Цена2 IS NOT NULL OR Цена1 < 50

 

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 NOT BETWEEN 42 AND 120

 

SELECT НаименованиеТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE Цена1 NOT IN (42, 105,750)

 

SELECT НаимТовара as [Наименование товара], Цена1 as [Цена закупочная]

FROM Товары

WHERE НаимТовара NOT LIKE "(VCD)*"

Результирующие данные запроса можно форматировать с использованием, например, функции <$I[] Format в SQL-инструкции SELECT > Format. В следующем запросе данные форматируются при помощи строки “### ##0.00$” (результат — на рис. 15.14):

SELECT НаимТовара as [Наименование товара],Format(Цена1*1.2,"### ##0.00р") as [Цена оптовая]

FROM Товары

WHERE Цена1 < 100

Рис. 15.14

Результирующие данные запроса можно форматировать с использованием функции Format

Обратите внимание еще и на то, что функция Format в качестве первого аргумента получает произведение Цена1*1.2. Таким образом мы получаем другую цену из некоторой базовой.

Для форматирования выводимых в запросе данных можно использовать функции преобразования строк. Например, в следующем запросе наименования товаров выводятся символами верхнего регистра, поскольку здесь используется функция StrConv (результат — на рис. 15.15):

SELECT StrConv(НаимТовара,1) AS [Наименование товара], Цена1 AS [Цена закупочная]

FROM Товары WHERE НаимТовара LIKE "(3DC)*"

Рис. 15.15

Наименования товаров выводятся символами верхнего регистра, поскольку здесь используется функция StrConv







Дата добавления: 2015-09-04; просмотров: 2584. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия