Введение в язык SQL запросов к базам данных. Баканов В.М. - 29 стр.

UptoLike

Составители: 

- 29 -
3. Перечислите базовые арифметические операции и функции, используемые
SQL? Какими функциями Вы желали бы дополнить имеющийся набор?
1.10.Вычисление функций групп строк
Групповые функции - это еще один показатель мощности SQL. Эти
функции позволяют выбирать суммарную информацию из групп строк.
Предположим, что необходимо собрать всех работников с одним номе-
ром отдела в
одну группу и найти максимальный оклад в каждой группе :
SELECT DEPTNO,MAX(SAL)
FROM EMP
GROUP BY DEPTNO;
DEPTNO MAX(SAL)
10 5,000.00
20 3,000.00
30 2,850.00
Клауза GROUP BY
В запросе GROUP BY каждая строка запроса представляет группу
строк, хранимых в таблице. Имя колонки, которую назвали в клаузе GROUP
BY (в данном примере DEPTNO) - это то, что нужно сгруппировать или вы-
делить в категорию по строкам таблицы. В вышеприведенном примере каж-
дая строка таблицы EMP была помещена в одну их трех
групп, отличающих-
ся номерами отделов - значениями поля DEPTNO, так что после того, как все
строки в EMP обработаны, все строки в группе имеют один номер отдела. В
этот момент выполняются групповые функции, которые были запрошены
функцией MAX(SAL) над каждой группой строк и возвращаются вычислен-
ные результаты.
Так же как с применением ORDER BY, возможно
группировать любое
количество колонок в единственном запросе.
Для примера скомбинируем использование групповых функций с запро-
сом типа JOIN. Сгруппируем по двум колонкам (GROUP BY DNAME, JOB)
и применим три новых функции: SUM - сложить значения выбранных полей,
попавших в группу, заданную клаузой GROUP BY; COUNT(*) - подсчитать
число строк, попавших в каждую группу и AVG - найти среднее
арифметиче-
ское значение выбранных колонок в группе.
Целью при этом запросе является следующее узнать: сколько работни-
ков работает на каждой должности в каждом отделе; например, сколько
клерков в исследовательской группе, какова сумма окладов и средний оклад:
                                    - 29 -


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

1.10.Вычисление функций групп строк

    Групповые функции - это еще один показатель мощности SQL. Эти
функции позволяют выбирать суммарную информацию из групп строк.
    Предположим, что необходимо собрать всех работников с одним номе-
ром отдела в одну группу и найти максимальный оклад в каждой группе :

  SELECT DEPTNO,MAX(SAL)
  FROM EMP
  GROUP BY DEPTNO;

 DEPTNO       MAX(SAL)
   10      5,000.00
   20      3,000.00
   30      2,850.00

Клауза GROUP BY

     В запросе GROUP BY каждая строка запроса представляет группу
строк, хранимых в таблице. Имя колонки, которую назвали в клаузе GROUP
BY (в данном примере DEPTNO) - это то, что нужно сгруппировать или вы-
делить в категорию по строкам таблицы. В вышеприведенном примере каж-
дая строка таблицы EMP была помещена в одну их трех групп, отличающих-
ся номерами отделов - значениями поля DEPTNO, так что после того, как все
строки в EMP обработаны, все строки в группе имеют один номер отдела. В
этот момент выполняются групповые функции, которые были запрошены
функцией MAX(SAL) над каждой группой строк и возвращаются вычислен-
ные результаты.
     Так же как с применением ORDER BY, возможно группировать любое
количество колонок в единственном запросе.
     Для примера скомбинируем использование групповых функций с запро-
сом типа JOIN. Сгруппируем по двум колонкам (GROUP BY DNAME, JOB)
и применим три новых функции: SUM - сложить значения выбранных полей,
попавших в группу, заданную клаузой GROUP BY; COUNT(*) - подсчитать
число строк, попавших в каждую группу и AVG - найти среднее арифметиче-
ское значение выбранных колонок в группе.
     Целью при этом запросе является следующее узнать: сколько работни-
ков работает на каждой должности в каждом отделе; например, сколько
клерков в исследовательской группе, какова сумма окладов и средний оклад: