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

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

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




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


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


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


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

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

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