GROUP BY
Using group by, we can create groups of related information.
Columns used in select must be used with group by, otherwise it
was not a group by expression.
Ex:
SQL> select deptno, sum(sal) from emp group by
deptno;
DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400
SQL> select deptno,job,sum(sal) from emp group
by deptno,job;
DEPTNO
JOB SUM(SAL)
---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
HAVING
This will work as where clause which can be used only with group by because of absence
of where clause in group by.
Ex:
SQL> select deptno,job,sum(sal) tsal from emp group by deptno,job
having sum(sal) >
3000;
DEPTNO
JOB TSAL
---------- --------- ----------
10 PRESIDENT 5000
20 ANALYST 6000
30
SALESMAN 5600
SQL> select deptno,job,sum(sal) tsal from emp group by deptno,job
having sum(sal) >
3000 order by job;
DEPTNO
JOB TSAL
----------
--------- ----------
20 ANALYST 6000
10
PRESIDENT 5000
30
SALESMAN 5600
ORDER OF EXECUTION
Ø Group the rows together based on group by
clause.
Ø Calculate the group functions for each
group.
Ø Choose and eliminate the groups based on
the having clause.
Ø Order the groups based on the specified
column.
No comments:
Post a Comment