Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MI_UG_7.pdf
Скачиваний:
174
Добавлен:
13.02.2015
Размер:
8.59 Mб
Скачать

Глава 8: Выборки по запросам

Отменить выбор группы объектов или записей.

Отменить выбор всех выбранных объектов.

Чтобы отменить выбор одного объекта или записи из группы выбранных объектов или записей, нажмите клавишу SHIFT и щелкните мышкой на объекте или записи инструментом ВЫБОР. При этом выделение объекта отменится.

Чтобы отменить выбор всех выделенных объектов, надо щелкнуть мышкой в окне Карты, в том месте, где нет объектов, или выбрать команду ЗАПРОС > ОТМЕНИТЬ ВЫБОР.

Выбор с помощью запросов в MapInfo Professional

Запрос - это математический вопрос, который задается базе данных для получения определенной информации. В MapInfo Professional есть два инструмента составления запросов - ЗАПРОС и SQL-ЗАПРОС.

SQL Запрос о больницах в городе

Команда ВЫБРАТЬ позволяет создать выборку (подмножество записей) на основании информации из некоторой таблицы MapInfo, например:

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

251

Выбор с помощью запросов в MapInfo Professional

Какие клиенты сделали покупки на 2000000 рублей и более?

Кто из моих клиентов живет в Раменском районе?

Команда SQL-ЗАПРОС позволяет решать следующие задачи в MapInfo:

Создавать вычисляемые колонки – колонки, значения в которых вычисляются на основании значений в уже существующих колонках;

обобщать данные таким образом, чтобы вместо сумм просматривать суммарные данные по таблице;

объединять две или более таблицы в одну новую таблицу;

показывать только те колонки и строки, которые Вас интересуют.

Команда Выбрать

Команда ВЫБРАТЬ позволяет формулировать запросы к таблице. С ее помощью можно выбирать записи и сопоставленные им графические объекты по значениям их атрибутов. Таким образом, можно выделять в окне Карты или Списка объекты, удовлетворяющие некоторому критерию. Результаты запросов можно сохранять в виде таблиц, просматривать в окнах Списков, Карт и Графиков.

Вкоманде ВЫБРАТЬ можно формулировать такие запросы, как:

Покажите все районы, где средний доход жителей превышает 6000000 рублей.

Покажите все районы, где средний возраст населения составляет 42 года.

Покажите все районы, где средний доход жителей превышает 6000000 рублей, а средний возраст населения составляет 42 года.

Покажите все записи о заказах, сделанных в июле и сентябре.

Покажите все города в Ярославской, Владимирской и Костромской областях, население которых превышает 100000 жителей.

При работе с окном Списка MapInfo выделяет записи (строки списка), удовлетворяющие заданному в запросе критерию. При работе с окном Карты выделяются соответствующие этим записям графические объекты. Если же Вы работаете с окнами обоих типов, то выделяются и записи, и графические объекты. Во всех случаях MapInfo автоматически создает рабочую таблицу с названием "Selection" (или "Выборка"), которая содержит результаты обработки запроса. Эту таблицу можно просматривать в окне Списка, Карты или Графика как любую другую таблицу. Кроме того, ее можно сохранить под другим именем командой СОЗДАТЬ КОПИЮ.

252

MapInfo Professional 7.5

Глава 8: Выборки по запросам

Создание выражений

Чтобы выполнить поиск по запросу, необходимо задать логическое выражение, которое мы обычно используем, когда задаем вопросы. Например, имеется таблица о сдаваемом внаем жилье. Если Вы хотите создать временную таблицу жилья, стоимость аренды которого ниже $800 в месяц, следует задать выражение:

РЕНТА < 800

где РЕНТА – это название колонки, содержащей данные о ежемесячной арендной плате. Знак “<” означает "меньше чем".

MapInfo ищет в таблице все записи, которые удовлетворяют заданному условию, и помещает последние во временную таблицу, которую можно просматривать в окне Карты, Списка, Графика и производить над ней дальнейшие операции.

Можно производить арифметические операции над данными. Пусть надо создать временную таблицу жилья, общая стоимость которого меньше $800. Общая стоимость образуется из арендной платы и ежемесячных коммунальных платежей. Задайте выражение:

РЕНТА + ПЛАТЕЖИ < 800

Таким образом MapInfo, складывает число из колонки РЕНТА с числом из колонки ПЛАТЕЖИ и сравнивает сумму с числом 800.

Имеется два способа создания выражений. Во-первых, можно ввести выражение напрямую. Этот способ обычно быстрее при задании простых выражений. Второй способ состоит в том, что можно нажать кнопку СОСТАВИТЬ в диалоге “Выбрать” и построить выражение с помощью окошек в диалоге "Выражение". Такой способ обычно используется начинающими пользователями или при построении сложных выражений.

Диалог "Выражение" содержит три окошка списка, с помощью которых можно составить выражение: Колонки, Операторы и Функции.

Колонки

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

MapInfo Professional 7.5 Руководство пользователя (Сокращенное)

253

Выбор с помощью запросов в MapInfo Professional

Операторы

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

Например, рассмотрим таблицу торговых агентов, среди которых Вы хотите выбрать тех агентов, полный объем продаж у которых в месяц составляет в среднем $2000. Общий объем вычисляется как сумма продаж и комиссионных.

Пусть в таблице имеются две следующие колонки: ПРОДАЖИ, содержащая данные о годовом объеме продаж каждого агента, и КОМИССИЯ, содержащая годовой размер комиссионных каждого агента. Вы можете составить следующее выражение:

(ПРОДАЖИ + КОМИССИЯ) / 12 < 2000

Согласно выражению, MapInfo сложит число в колонке ПРОДАЖИ с числом из колонки КОМИССИЯ. Однако это дает общий годовой объем. Вы же хотите получить среднемесячный объем. Поэтому Вы делите сумму на 12. Полученное значение сравнивается с 2000.

В списке Операторы содержатся также логические операторы AND, NOT, OR и LIKE. Оператор LIKE может использоваться с двумя видами замещающих символов: ’%’ и ’_’. Символ ’%’ может быть заменен любым количеством других символов. Символ ’_’ замещается только одним другим символом.

Функции

Это окошко содержит математические функции, имеющие один и более параметров и возвращающие значения. Эти функции применяются для получения значений элементарных функций над данными из некоторой колонки. Например, abs(<number>) выдает абсолютное значение чисел из заданной колонки.

Например, метеоролог хочет выбрать все дни, когда температура в его городе была на 10 градусов выше или ниже средней по стране. Для этого используется колонка СР_РАЗН, содержащая разницу температур в городе и в среднем по стране. Можно составить такое выражение:

СР_РАЗН < –10 Or СР_РАЗН > 10

Оно означает, что MapInfo должна выбрать все записи с разницей меньше -10 или больше +10. Однако, выражение можно задать и по-другому:

abs(СР_РАЗН) > 10

Вэтом случае MapInfo будет выбирать все записи, абсолютное значение разницы в которых превосходит 10.

Окошко Функции содержит много других функций, в том числе функции площади, периметра, синуса, косинуса и дат. Полный список функций приведен в Создание выражений в Главе 8 на странице 253.

254

MapInfo Professional 7.5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]