Студопедия Главная Случайная страница Обратная связь

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

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




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

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