46800

Оператор SELECT. Группировка результатов запроса. Вычисление итогов. Примеры итоговых функций. Отбор результатов по результатам вычисления итогов (выражение HAVING)

Доклад

Информатика, кибернетика и программирование

Оператор SELECT. Отбор результатов по результатам вычисления итогов выражение HVING В общем случае для создания вычисляемого производного поля в списке SELECT следует указать некоторое выражение языка SQL. SELECT Товар. SELECT Фирма Фамилия LeftИмя1.

Русский

2013-11-29

28.5 KB

4 чел.

Оператор SELECT. Группировка результатов запроса. Вычисление итогов. Примеры итоговых функций. Отбор результатов по результатам вычисления итогов ( выражение HAVING)

В общем случае для создания вычисляемого (производного) поля в списке SELECT следует указать некоторое выражение языка SQL. В этих выражениях применяются арифметические операции сложения, вычитания, умножения и деления, а также встроенные функции языка SQL. Можно указать имя любого столбца (поля) таблицы или запроса, но использовать имя столбца только той таблицы или запроса, которые указаны в списке предложения FROM соответствующей инструкции. При построении сложных выражений могут понадобиться скобки.

Стандарты SQL позволяют явным образом задавать имена столбцов результирующей таблицы, для чего применяется фраза AS.

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

SELECT Товар.Название, Товар.Цена,

Сделка.Количество,

Товар.Цена*Сделка.Количество AS Стоимость

FROM Товар INNER JOIN Сделка

ON Товар.КодТовара=Сделка.КодТовара

Получить список фирм с указанием фамилии и инициалов клиентов.

SELECT Фирма, Фамилия+" "+

Left(Имя,1)+"."+Left(Отчество,1)+"."AS ФИО

FROM Клиент

С помощью итоговых (агрегатных) функций в рамках SQL-запроса можно получить ряд обобщающих статистических сведений о множестве отобранных значений выходного набора.

Пользователю доступны следующие основные итоговые функции:

• Count (Выражение) - определяет количество записей в выходном наборе SQL-запроса;

• Min/Max (Выражение) - определяют наименьшее и наибольшее из множества значений в некотором поле запроса;

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

• Sum (Выражение) - вычисляет сумму множества значений, содержащихся в определенном поле отобранных запросом записей.

SELECT count(*), sum (budget), avg (budget), min (budget), max (budget)

FROM department

WHERE head_dept = 100

SELECT Count(*) AS Количество_сделок

FROM Сделка

При помощи HAVING отражаются все предварительно сгруппированные посредством GROUP BY блоки данных, удовлетворяющие заданным в HAVING условиям. Это дополнительная возможность "профильтровать" выходной набор.

Разбиение кортежей на группы выполняется с помощью ключевых слов GROUP BY и следующим за ними списком атрибутов, которые определяют группы. Если мы имеем GROUP BY A1, ⃛, Ak мы разделяем отношение на группы так, что два кортежа будут в одной группе, если у них соответствуют все атрибуты A1, ⃛, Ak.

Фраза GROUP BY (группировать по) инициирует перекомпоновку указанной во FROM таблицы по группам, каждая из которых имеет одинаковые значения в столбце, указанном в GROUP BY.

SELECT S.SNO, S.SNAME, COUNT(SE.PNO)

FROM SUPPLIER S, SELLS SE

WHERE S.SNO = SE.SNO

GROUP BY S.SNO, S.SNAME;

Если параметр GROUP BY в SELECT не задан, HAVING применяется к «группе» всех строк таблицы, полностью дублируя WHERE

SELECT DeptID, SUM(SaleAmount) FROM Sales

WHERE SaleDate = '01-Jan-2000'

GROUP BY DeptID

 HAVING SUM(SaleAmount) > 1000


 

А также другие работы, которые могут Вас заинтересовать

16616. ПЛАНИРОВАНИЕ ПРОЕКТОВ В MICROSOFT PROJECT 426.5 KB
  ПЛАНИРОВАНИЕ ПРОЕКТОВ Методические указания к лабораторной работе по дисциплинам Проектирование информационных систем Территориальные информационные системы Цель работы: подготовка к составлению проектов в MS Project изучение терминологии управления прое
16617. ПЛАНИРОВАНИЕ РЕСУРСОВ И СОЗДАНИЕ НАЗНАЧЕНИЙ В MICROSOFT PROJECT 646.5 KB
  ПЛАНИРОВАНИЕ РЕСУРСОВ И СОЗДАНИЕ НАЗНАЧЕНИЙ Методические указания к лабораторной работе по дисциплинам Проектирование информационных систем Территориальные информационные системы Цель работы: изучение принципов работы с ресурсами и особенностей план
16618. ПЛАНИРОВАНИЕ СТОИМОСТИ ПРОЕКТА, АНАЛИЗ И ОПТИМИЗАЦИЯ ЗАГРУЗКИ РЕСУРСОВ В MICROSOFT PROJECT 349 KB
  ПЛАНИРОВАНИЕ СТОИМОСТИ ПРОЕКТА АНАЛИЗ И ОПТИМИЗАЦИЯ ЗАГРУЗКИ РЕСУРСОВ Методические указания к лабораторной работе по дисциплинам Проектирование информационных систем Территориальные информационные системы Цель работы: изучение принципов определения...
16619. Устройство и работа кузнечно-прессовой машины 39.22 KB
  Лабораторная работа № 1 Устройство и работа кузнечнопрессовой машины Цель работы. Изучение принципа работы и особенностей гидравлического пресса экспериментальное и расчетное определение его основных параметров. Оборудование инструмент оснастка. Гидравлически...
16621. Закон наименьшего сопротивления 77.5 KB
  Лабораторная работа № 2 Закон наименьшего сопротивления Цель работы: Изучить закономерности формоизменения на примере осадки квадратных и прямоугольных в плане образцов при различных условиях контактного трения. Оборудование инструмент и образцы. Универсальная
16623. Осадка на плоских бойках 441 KB
  Лабораторная работа № 3 Осадка на плоских бойках Цель работы. Выявить влияние контактных условий на неравномерность деформации осаживаемых образцов. Оборудование инструмент образцы. Кривошипный пресс усилием 6301000 кН с регулируемой длиной шатуна штангенциркуль...
16624. ОТЧЕТ О ЛАБОРАТОРНОМ ПРАКТИКУМЕ ПО СРЕДЕ ПРОГРАММИРОВАНИЯ DELPHI 297.76 KB
  ОТЧЕТ О ЛАБОРАТОРНОМ ПРАКТИКУМЕ ПО СРЕДЕ ПРОГРАММИРОВАНИЯ DELPHI Лабораторная работа № 1 где x = 6251; y = 0827 ; z = 25001 . unit lab1; interface uses Windows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs StdCtrls; type TForm1 = classTForm Label1: TLabel; Label2: TLabel; Label3: TLabel;