Глава 8: Вибірки за запитами
Запит - це математичний питання, що задається базі даних для отримання певної інформації. В MapInfo Professional є два інструменти складання запитів - З АПРОС і SQL-З АПРОС.
SQL-Запит про лікарнях в місті
Команда В ИБРАТЬ дозволяє створити вибірку (підмножина записів) на підставі інформації з будь-якої таблиці MapInfo, наприклад:
• Хто з клієнтів живе в Раменському районі?
Команда SQL- ЗАПИТ дозволяє вирішувати такі завдання в MapInfo:
• створювати обчислювані колонки - колонки, значення в яких обчислюються на підставі значень в уже існуючих колонках;
• узагальнювати дані таким чином, щоб замість сум переглядати сумарні дані по таблиці;
• об'єднувати дві або більше таблиці в одну нову таблицю;
• показувати тільки ті колонки і рядки, які Вас цікавлять.
MapInfo Professional 7.5
Глава 8: Вибірки за запитами
команда Вибрати
Команда В ИБРАТЬ дозволяє формулювати запити до таблиці. З її допомогою можна вибирати записи і зіставлені їм графічні об'єкти за значеннями їх атрибутів. Таким чином, можна виділяти в вікні Карти або Списку об'єкти, що задовольняють певному критерію. Результати запитів можна зберігати у вигляді таблиць, переглядати в вікнах Списків, Карт і Графіків.
У команді В ИБРАТЬ можна формулювати такі запити, як:
• Покажіть всі райони, де середній дохід жителів перевищує 6000000 рублів.
• Покажіть всі райони, де середній вік населення становить 42 роки.
• Покажіть всі райони, де середній дохід жителів перевищує 6000000 рублів, а середній вік населення становить 42 роки.
• Покажіть все міста в Ярославській, Володимирській і Костромської областях, населення яких перевищує 100000 жителів.
При роботі з вікном Списку MapInfo виділяє записи (рядки списку), що задовольняють заданому в запиті критерієм. При роботі з вікном Карти виділяються відповідні цим записам графічні об'єкти. Якщо ж Ви працюєте з вікнами обох типів, то виділяються і записи, і графічні об'єкти. У всіх випадках MapInfo автоматично створює робочу таблицю з назвою "Selection" ( "Вибірка"), яка містить результати обробки запиту. Цю таблицю можна переглядати у вікні Списку, Карти або Графіка як будь-яку іншу таблицю. Крім того, її можна зберегти під іншим ім'ям командою
створення виразів
Щоб виконати пошук за запитом, необхідно задати логічне вираз, яке ми зазвичай використовуємо, коли задаємо питання. Наприклад, є таблиця про що здається в оренду житло. Якщо Ви хочете створити тимчасову таблицю житла, вартість оренди якого нижче $ 800 в місяць, слід задати вираз:
де РЕНТА - це назва колонки, що містить дані про щомісячну орендну плату. знак "<” означает "меньше чем".
MapInfo шукає в таблиці всі записи, які задовольняють заданій умові, і поміщає останні в тимчасову таблицю, яку можна переглядати у вікні Карти, Списку, Графіка і виробляти з неї подальші операції.
Можна проводити арифметичні операції над даними. Припустимо, треба створити тимчасову таблицю житла, загальна вартість якого менше $ 800. Загальна вартість утворюється з орендної плати та щомісячних комунальних платежів. Задайте вираз:
• РЕНТА + ПЛАТЕЖІ <800
Таким чином MapInfo, складає число з колонки РЕНТА з числом з колонки ПЛАТЕЖІ і порівнює суму з числом 800.
MapInfo Professional 7.5
Глава 8: Вибірки за запитами
Є два способи створення виразів. По-перше, можна ввести вираз безпосередньо. Цей спосіб зазвичай швидше при завданні простих виразів. Другий спосіб полягає в тому, що можна натиснути кнопку З ЗАЛИШИТИ в діалозі "Вибрати" і побудувати вираз за допомогою віконець в діалозі "Вираз". Такий спосіб зазвичай застосовується початківцями користувачами або при побудові складних виразів.
Діалог "Вираз" містить три віконця списку, за допомогою яких можна скласти вираз: Колонки. Оператори і Функції.
Це віконце містить список всіх колонок таблиці, через яку здійснюватиметься вибір. Якщо таблиця містить колонки, обчислені за попередніми запитами, то перераховуються і ці колонки.
У цьому віконці міститься перелік математичних і логічних операторів. Серед операторів - додавання, віднімання, множення, ділення, знаки "більше", "менше" і "дорівнює". За допомогою цих символів можна створювати математичні формули.
Нехай в таблиці є дві наступні колонки: ПРОДАЖУ. що містить дані про річний обсяг продажів кожного агента, і КОМІСІЯ. содержащаяданние про річному розмірі комісійних кожного агента. Ви можете скласти такий вираз:
У списку Оператори містяться також логічні оператори AND, NOT, OR і LIKE. Оператор LIKE може використовуватися з двома видами заміщають символів: '%' і '_'. Символ '%' може бути замінений будь-якою кількістю інших символів. Символ '_' заміщується тільки одним іншим символом.
MapInfo Professional 7.5
Глава 8: Вибірки за запитами
Це віконце містить математичні функції, які мають один і більше параметрів і повертають значення. Ці функції застосовуються для отримання значень елементарних функцій над даними з будь-якої колонки. Наприклад, abs (
Наприклад, метеоролог хоче вибрати всі дні, коли температура в місті була на 10 градусів вище або нижче середньої по країні. Для цього використовується колонка СР_РАЗН, що містить різницю температур в місті і в середньому по країні. Можна скласти такий вислів:
• СР_РАЗН <–10 Or СР_РАЗН> 10
Воно означає, що MapInfo повинна вибрати всі записи з різницею менше -10 або більше +10. Однак вираз можна задати і по-іншому:
• abs (СР_РАЗН)> 10
В цьому випадку MapInfo буде вибирати все записи, абсолютне значення різниці в яких перевищує 10.
Віконце Функції містить багато інших функцій, в тому числі функції площі, периметра, синуса, косинуса і дат. Повний список функцій наведено в розділі Створення виразів в Главі 8 на сторінці 111.
Ця кнопка дає команду перевірити лексику і логіку складеного виразу. Це корисно для перевірки створених нових виразів.
Вибір об'єктів за допомогою команди Вибрати
У загальних рисах процес вибору об'єктів за допомогою команди У ИБРАТЬ виглядає так:
1. Виконайте команду З АПРОС> В ИБРАТЬ.
Виберіть таблицю, з якої беруться записи. Створіть вираз длявибора записів. Виберіть місце збереження результатів. Виберіть колонку длясортіровкі.
2. Щоб побачити результати вибірки, встановіть прапорець Результат в список.
3. MapInfo Professional відкриє вікно Списку і помістить туди нову вибірку.
MapInfo називає тимчасові таблиці вибірок "Query1", "Query2" і т.д. При виборі записів за допомогою команд У ИБРАТЬ і SQL- ЗАПИТ можна задати свою назву таблиці вибірки. Введіть цю назву в віконце Помістити в таблицю. Таблицю запиту можна зберегти під іншим ім'ям на диску командою З ОЗДАТЬ КОПІЮ.
MapInfo Professional 7.5
MapInfo надає прості засоби вибору і пошуку інформації. Ви можете створювати вибірки з баз даних за допомогою команди У ИБРАТЬ. Розглянемо, як вибрати з таблиці WORLD країни з рівнем грамотності вище 90%.
1. Відкрийте таблицю WORLD.TAB.
2. Виконайте команду З АПРОС> В ИБРАТЬ. З'явиться діалог "Вибрати".
3. Заповніть віконця діалогу "Вибрати":
• У віконці Вибрати записи з таблиці виберіть World.
• Натисніть кнопку З ЗАЛИШИТИ. З'явиться діалог "Вираз".
4. Заповніть діалог "Вираз", як показано на малюнку вище.
У віконці До Олонкі виберіть "Literacy" (грамотність).
У віконці Оператори виберіть ">" (більше).
Введіть число 90.
Натисніть кнопку П ровер. щоб переконатися в правильності синтаксису запиту. Натисніть в цьому діалозі кнопку OK.
5. Натисніть OK. щоб закрити діалог "Вираз". Знову з'явиться діалог "Вибрати".
6. Перевірте, щоб був встановлений прапорець Результат до Списку.
7. MapInfo відкриє вікно Списку за результатами вибору. Вибірка також буде виділена у вікні "World Карта".
MapInfo Professional 7.5