Студопедия — Использование в 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; просмотров: 2600. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

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

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

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

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