46800

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

Доклад

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

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

Русский

2013-11-29

28.5 KB

6 чел.

Оператор 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


 

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

8677. Арабомовна середньовічна філософія 94 KB
  Арабомовна середньовічна філософія. Філософська концепція мутазилітів. Школа ашарітів. Східні перипатетики. Аль-Кінді, аль-Фарабі. Філософські погляди Ібн-Сіни. Ідеї суфізму. Ібн-Рушд та авероїсти. Вивчення даної ...
8678. Філософія середньовіччя та ренесансу 150 KB
  Філософія середньовіччя та ренесансу. Патристика раннього християнства. Середньовічна схоластика. Філософська думка пізнього Середньовіччя. Новий погляд на людину у філософії Ренесансу. Патристика. Загальна характеристика пат...
8679. Філософія нового часу. Емпіризм та раціоналізм. 114.5 KB
  Філософія нового часу. Емпіризм та раціоналізм. Філософія Просвітництва. Марксистська філософія. Новим часом називають епоху, яка розпочалася буржуазними революціями в Західній Європі (наприкінці XVI- на початку XVII...
8680. Німецька класична філософія 153 KB
  Іммануїл Кант народився в 1724 р. у сімї ремісника в Кенігсберзі. Тут Кант вчився, вчителював, став професором, ректором університету. У Кенігсберзі він написав усі свої твори, тут він і помер у 1804...
8682. Сучасна світова філософія: школи і напрямки 96.5 KB
  Сучасна світова філософія: школи і напрямки. Філософія науки: позитивізм і неопозитивізм діалектичний матеріалізм фрейдизм і неофрейдизм. Філософія ірраціоналізму: світський екзистенціалізм релігійний...
8683. Філософська думка України 116 KB
  Філософська думка України. Філософська думка у давніх словян і в Київській Русі. Середньовічна українська філософія. Києво-Могилянська філософська школа. Українські просвітники. Філософія - явище загальнолюдське. Вона д...
8684. Філософська думка України. Українська філософія діаспори 207.5 KB
  Філософська думка України Філософія київського кола. Філософська думка під час культурно-історичного підйому 20-х років. Філософське обґрунтування національного радикалізму. Філософія українських шестидесятників...
8685. Філософське розуміння світу. Проблема буття 93 KB
  Філософське розуміння світу. Проблема буття. Філософський зміст проблеми буття. Особливості розуміння проблеми буття. Форми буття. Буття. Субстанція і матерія. Дух. З самого початку західно-європейського мислення і до сьогоднішньог...