рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными

Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными - раздел Программирование, Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании · Max (Поле) – Максимальное Значение Поля; · Min (Поле) – Минимально...

· MAX (поле) – максимальное значение поля;

· MIN (поле) – минимальное значение поля;

· AVG (поле) – среднее значение поля;

· SUM (поле) – сумма значений поля;

· COUNT (поле) – количество разных значений поля.

Трудно представить запрос типа “подсчитать, сколько номеров заказов”, а не ”сколько заказов”, поэтому в SQL используется специальная агрегатная функция COUNT(*), которая подсчитывает строки, а не значения данных. Именно эта форма функции COUNT обычно применяется на практике. Вместе с тем форма COUNT (поле) позволяет найти количество строк, которые имеют в указанном поле значения, отличные от NULL.

Пример итогового запроса

SELECT SUM(Plata) AS Summa, AVG (Dohod) AS Mid

FROM A WHERE Firma = ‘Махаон’

Из таблицы A выбираются только записи со значением ‘Махаон’ поля Firma и для них определяются суммарное значение поля Plata, а также среднее значение поля Dohod. Результирующая таблица содержит единственную запись с наименованиями полей Summa и Mid.

При вычислении агрегатных функций не учитываются те записи, у которых соответствующее поле имеет значение NULL. Это может приводить к неожиданным эффектам. Например, выражения SUM(Sale)–SUM(Tax) и SUM(Sale-Tax) могут иметь разную величину, если поля Sale и Tax принимают NULL-значения в разных записях неодновременно.

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

SELECT <список выражений> FROM < список таблиц>

GROUP BY <список полей группировки> HAVING <условие>

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

Пусть, например, имеется таблица денежных выплат сотрудникам A (Nom, Name, Money), в которой имена однозначно идентифицируют сотрудника, но каждый сотрудник может иметь несколько выплат. Требуется получить итоговую ведомость для тех сотрудников, которые имеют общую сумму выплат более 1000. Это можно сделать запросом

SELECT Name, SUM( Money) AS Itog FROM A

GROUP BY Name HAVING SUM( Money)>1000

Здесь каждой группы записей с одинаковым значением поля Name подсчитывается сумма значений поля Money, и выводятся только те имена и соответствующие им значения суммы, для которых выполняется заданное условие.

В списке полей не должны присутствовать те поля, которые не входят в список полей группировки, поскольку их значения не являются постоянными в пределах группы. Аналогично не рекомендуется (хотя и не запрещается) использовать в условии поля, отличные от полей группировки. Необходимые условия отбора принято задавать в предложении WHERE, которое может присутствовать совместно с условием HAVING и действует как фильтр, сразу же отсекая непригодные записи.

Пусть, например, имеется таблица A (Facult, Gr, Name, Subj, Mark), где Facult - факультет, Gr – наименование группы, Name – фамилия студента, Subj – предмет, Mark – полученная оценка. Будем считать, что в пределах группы нет однофамильцев, а в пределах факультета наименования групп уникальны. Запрос

SELECT Facult, Gr, AVG (Mark) AS Mid FROM A

WHERE Subj <> ‘Физкультура’

GROUP BY Facult, Gr HAVING COUNT(*)>10

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

Отметим в заключение, что значения NULL в столбце группировки считаются равными.

 

– Конец работы –

Эта тема принадлежит разделу:

Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

История создания баз данных
  Существуют различные определения базы данных. Обычно они либо неполны, либо слишком громоздки. Дадим простое определение, расширяя его по мере появления новых понятий.

Модели данных СУБД
  Коцептуальной моделью данных в БД называют глобальное логическое описание данных. Структуры данных коцептуальной модели влияют на все характеристики СУБД, охватывая · языки

Двенадцать правил Кодда для реляционных СУБД
В статье, опубликованной в 1985 году [3], Э. Кодд сформулировал двенадцать правил, которым должна соответствовать настоящая реляционная БД. Они являются полуофициальным определением понятия

Нормализация таблиц БД. Первая, вторая и третья нормальные формы
  При проектировании структуры БД естественным желанием бывает минимизировать количество таблиц, а в идеальном случае сосредоточить все данные в одной таблице. Однако это оказывается

Нормальная форма Бойса-Кодда
  Пусть в определенном выше отношении SP присутствует еще и имя поставщика Sname. Будем для удобства считать, что имя однозначно определяет поставщика. Тогда в отношении SP (Sn, Sname

Четвертая нормальная форма
  Рассмотрим таблицу R (Subj, Teach, Book), где Subj – учебный предмет, Teach- преподаватель по этому предмету, Book – книга, рекомендуемая преподавателем Teach для изучения предмета

Семантическое моделирование данных.
Элементы модели "сущность-связь" Семантическое моделирование данных на основе ER-диаграмм компактно и доступно изложено в [5], и мы будем следовать этому источни

В реляционной СУБД
  Одним из главных достоинств иерархических и сетевых СУБД считают естественность представления данных иерархической и сетевой природы. А как представлять такие данные в реляционных С

Основы реляционной алгебры
  Реляционная алгебра представляет собой совокупность операций над отношениями. Операндами и результатами операций являются отношения. Рассмотрим основные операции реляционной алгебры

Основы реляционного исчисления
  Реляционное исчисление это математический аппарат, который позволяет путем использования исчисления предикатов, кванторов и переменных описывать отношения и операции над ними в виде

Общая характеристика и стандарты языка SQL
  Язык SQL (Structered Query Language) впервые появился в рамках проекта разработки экспериментальной реляционной СУБД System R в исследовательской лаборатории фирмы IBM в 1975-1979 г

Многотабличные запросы SQL. Соединения таблиц. Самосоединения. Псевдонимы
  Запросы могут выбирать данные изнескольких таблиц. Эти таблицы должны быть перечислены после слова FROM. Если таблицы не связаны между собой, то результатом запроса будут всевозможн

Внешнее соединение таблиц
  Рассмотренные соединения называют внутренними (INNER JOIN). В некоторых случаях требуются соединения другого вида – внешние соединения (OUTER JOIN). Рассмотрим две таблицы A (Stud,

Вложенные запросы на чтение
  В SQL существуют вложенные запросы, позволяющие использовать результаты одного запроса в качестве составной части другого. Вложенные запросы или подзапросы обладают следующими преим

Целостность данных
  Термин “целостность данных” относится к правильности и полноте информации, содержащейся в БД. Вероятно, корректнее говорить о непротиворечивости данных, поскольку невозможно предотв

Триггеры и хранимые процедуры
  Как уже говорилось, целостность данных часто связана с порядками и правилами в конкретной организации. Например: · клиенты не могут размещать заказы на сумму, превышающую и

Обработка транзакций
  Транзакцией называются несколько последовательных операторов SQL, которые рассматриваются как единое целое. В транзакции каждый оператор решает часть общей задачи, но для того, чтоб

Представления и работа с ними
  Представлением (VIEW) называется SQL-запрос на чтение, которому присвоили имя и сохранили в БД. Представление является виртуальной таблицей, то есть обеспечивает доступ к результата

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

Курсоры
  Когда результатом выполнения запроса SQL в программном режиме является не одна строка, а целая таблица, необходимо обеспечить для прикладной программы возможность построчного получе

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

Элементы языка QBE
  Язык QBE (Query By Example – запрос по образцу) был разработан в компании IBM в 1975 году. Это язык реляционного исчисления с переменными на доменах, рассчитанный на работу в интера

Подходы к оптимизации запросов
  Говоря про оптимизацию запросов в реляционных СУБД, обычно имеют в виду такой способ обработки, когда по начальному представлению запроса путем преобразований вырабатывается процеду

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги