Assignment 2
Assignment 2
SUM(SAL) JOB
---------- ---------
4150 CLERK
5600 SALESMAN
8275 MANAGER
6000 ANALYST
5000 PRESIDENT
no rows selected
SQL> SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*)>2 AND SUM(SAL)>9000;
DEPTNO
----------
20
30
COUNT(*) AVG(SAL)
---------- ----------
3 1450
SAL
----------
1250
3000
no rows selected
SQL> SELECT AVG(SAL),DEPTNO FROM EMP GROUP BY DEPTNO HAVING AVG(SAL) BETWEEN 2500
AND 3000;
AVG(SAL) DEPTNO
---------- ----------
2916.66667 10
SQL> SELECT COUNT(*),DEPTNO FROM EMP WHERE JOB IN ('MANAGER','ANALYST') AND SAL*12
LIKE '%0' GROUP BY DEPTNO;
COUNT(*) DEPTNO
---------- ----------
3 20
1 30
1 10
SQL> SELECT COUNT(*),DEPTNO FROM EMP WHERE JOB = 'CLERK' GROUP BY DEPTNO;
COUNT(*) DEPTNO
---------- ----------
2 20
1 30
1 10
MAX(SAL) DEPTNO
---------- ----------
2975 20
2850 30
2450 10
SQL> SELECT COUNT(SAL),SAL FROM EMP GROUP BY SAL HAVING COUNT (SAL)>1;
COUNT(SAL) SAL
---------- ----------
2 1250
2 3000
COUNT(*) DEPTNO
---------- ----------
5 20
6 30
SQL> SELECT DEPTNO FROM EMP WHERE COMM IS NOT NULL GROUP BY DEPTNO;
DEPTNO
----------
30
SQL> SELECT COUNT(DEPTNO) , DEPTNO FROM EMP WHERE SAL>1600 AND JOB!='MANAGER' GROUP
BY DEPTNO;
COUNT(DEPTNO) DEPTNO
------------- ----------
2 20
1 10
SQL> SELECT AVG(SAL),JOB FROM EMP WHERE MGR IS NOT NULL GROUP BY JOB;
AVG(SAL) JOB
---------- ---------
1037.5 CLERK
1400 SALESMAN
2758.33333 MANAGER
3000 ANALYST
14 rows selected.
SQL> SELECT COUNT(*) , SAL , DEPTNO FROM EMP GROUP BY SAL , DEPTNO HAVING
COUNT(*)>1;
SQL> SELECT MAX(SAL) , JOB FROM EMP WHERE ENAME NOT LIKE 'K%' GROUP BY JOB;
MAX(SAL) JOB
---------- ---------
1300 CLERK
1600 SALESMAN
2975 MANAGER
3000 ANALYST
SQL> SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY JOB;
SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY JOB
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression
SQL> SELECT COUNT(*) FROM EMP WHERE MGR = 7839 GROUP BY JOB;
COUNT(*)
----------
3
SQL> SELECT COUNT(*) , MGR FROM EMP WHERE MGR = 7839 GROUP BY MGR;
COUNT(*) MGR
---------- ----------
3 7839