Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Фильтрация сгруппированных данных






Данные, сгруппированные конструкцией GROUP BY можно дополнительно отфильтровать. Для этого используется конструкция HAVING < условия отбора>. Условия отбора применяются к уже сформированным группам записей. Правила использования конструкции аналогичны правилам использования конструкции WHERE, и в качестве условий отбора могут использоваться агрегирующие функции, применяемые к отобранным группам записей, либо поля данных по которым проводится группировка.

Применение конструкции HAVING

Применение аналогично WHERE

SELECT Улица, COUNT(*) FROM Здания GROUP BY Улица HAVING Улица Like '%пер.'

Группировка всех записей по полю Улица, и вывод значений для групп в которых название улицы заканчивается символами «пер.».

Отбор групп

SELECT Улица, AVG(Area) FROM Здания GROUP BY Улица HAVING COUNT(*)> 3

Группировка записей по названию улицы, и вывод названий улиц и средних площадей зданий для групп в которых более трех записей.

Выборка данных из нескольких слоев

Как уже упоминалось выше, в системе Zulu допускается выборка данных из нескольких слоев карты. При этом в результате такой выборки будет выведена таблица с декартовым пересечением запрошенных полей перечисленных слоев. Дополнительные возможности по управлению выборками из нескольких слоев предоставляет конструкция JOIN, располагающаяся в команде выборки после ключевого слоя FROM, но перед ключевыми словами WHERE, GROUP BY, HAVING и ORDER BY. В конструкции задаются условия, по которым объединяются и выводятся поля БД слоев.

В системе Zulu предусмотрено несколько вариантов использования данной конструкции, каждый из которых имеет свои особенности и область применения:

INNER JOIN (внутреннее соединение)

Каждая запись данных первого слоя сопоставляется с каждой записью другого слоя на предмет выполнения условия соединения (например, выполнения условия пространственного соответствия для объектов соединяемых слоев) и выводятся все соответствующие условию записи.

Конструкция имеет следующий синтаксис: [ INNER ] JOIN < Слой> ON < Условие>, где < Слой> - слой добавляемый к выборке, а < Условие> - логическое выражение по которому проводится отбор полей. Ключевое слово INNER необязательно и может быть опущено в команде выборки.

По результату, конструкция внутреннего соединения аналогична применению условия (с помощью ключевого слова WHERE) к выборке по нескольким слоям.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал