
- •3.1. Оверлейний аналіз
- •3.3. Аналіз рельєфу з використанням цифрових моделей рельєфу
- •3.4. Аналіз гідрографічної мережі
- •4.1. Інтеграція сапр і гіс
- •4.2. Інструментальні можливості гіс в саd-середовищах
- •4.3. Область застосування гіс на базі AutoCad
- •4.4. Зв’язок зображень з базами даних
- •5.1. Нормалізація даних
- •5.2. Особливість створення баз даних з просторово-локалізованими даними
- •6.2. Мова структурованих запитів sql
- •6.3. Вставка даних
- •6.4. Вибірка даних
- •6.5. Запит мовою sql
- •6.6. Зміна даних
- •4. Як розташовуються об’єкти у звіті?
- •9. Що таке легенда тематичної карти?
6.4. Вибірка даних
Найбільш розповсюдженою командою SQL є та, яка дозволяє переглядати дані в базі: SELECT. Введення та зміна даних відбуваютьсялише час від часу, а більшість баз даних зайнято в основному тим, що надають дані для читання. Загальний вид команди наступний:
SELECT колонка1, колонка2,..., колонкаN FROM таблиця1, таблиця2,..., таблицяN [WHERE умови вибірки]
Отже, після команди SELECT задається список полів (колонок), дані яких нас будуть цікавити. Можна задати “*”, щоб вказати, що вибажаєте вибрати всі колонки. Після команди FROM задається список таблиць, в яких ці дані знаходяться. Команда WHERE вказує, які самерядки повинні бути відібрані, та дозволяє визначити, яким чином повинні бути об'єднані таблиці.
Саме об'єднання вносить “реляційність” в реляційні бази даних. Саме об'єднання дозволяє спів ставити рядки однієї таблиці рядку іншої.Основним видом об'єднання є таке, яке іноді називають внутрішнім об'єднанням. Об'єднання таблиць полягає в прирівнюванні колонок двохтаблиць:
SELECT book.title, author.name FROM author, book WHERE book.author = author.id
Даний приклад читається як: вибрати колонку title таблиці book та колонку name таблиці author з таблиць author, book де значення колонки author таблиці book відповідає значенню колонки id таблиці author. Як видно з прикладу, стандарт SQL дозволяє складне іменуванняполів бази даних, яке включає назву таблиці та через крапку назву колонки. Повні імена, які складаються з імені таблиці та колонки доситьчасто є дуже громіздкими. В цьому випадку доречним є застосування так званих псевдонімів, які звичайно є коротшими та більш виразними.Наприклад, псевдонім колонки:
SELECT long_field_names_are_annoying AS myfield FROM tabl_name
Псевдоніми можуть бути використані і в інших випадках.
Вибрані з бази дані повертаються нам у будь-якому порядку, що не залежить навіть від порядку введення даних в таблиці. Але засобамиSQL ми можемо вказати в якому саме порядку ми бажаємо отримати дані. В запиті це досягається за допомогою команди ORDER BY (сортує в порядку зростання):
SELECT last_name, first_name, age FROM peaple ORDER BY last_name, first_name
В даному прикладі сортування відбудеться за двома колонками спочатку за прізвищем а потім за ім'ям. Можна проводити сортування за будь-яким числом колонок, але всі вони повинні бути перераховані після команди SELECT.
Для сортування відібраних даних в оберненому порядку потрібно в кінці колонки добавити DESC:
SELECT last_name, first_name, age FROM peaple ORDER BY last_name, DESC
Групування також є однією з можливостей вибірки. Як і визначається назвою, групування дозволяє об'єднати в один рядки заналогічними значеннями з метою їх сумісного обробітку. В запиті це робиться за допомогою команди GROUP BY та назви колонки, за якоюпотрібно згрупувати:
SELECT year FROM albums GROUP BY year
Сила сортування та групування у поєднанні з функціями SQL дозволяє проводити великий об'єм обробітку даних на сервері до їхвидобутку.
Функції SQL це окремий великий розділ вивчення даної мови. Ми зупинимося лише на деяких з них. Функції зазвичай працюють над всіммасивом вибраних даних. Використовуються вони у вигляді НАЗВА_ФУНКЦІЇ(колонка):
SELECT MAX(price) FROM book
Крім функції MAX (максимальне) можна використовувати MIN (мінімальне), AVG (середнє), COUNT (підрахунок кількості значень). Такожможна застосовувати математичні операції для створення розрахункових колонок в таблиці виводу.
Для того, щоб вибрати з таблиці дише деякі, необхідні нам записи, після команди WHERE необхідно вказати обмеження для вибірки у вигляді колонка, оператор порівняння (<, >, =, LIKE і т.д.), значення:
SELECT name, author FROM book WHERE year = 2006
В даному прикладі ми просимо вибрати з таблиці book дані про назву та автора книг, які були видані в 2006 році.