Professional Documents
Culture Documents
(The following query retrieves "2" highest paid employees FROM each Departmen
t :
SELECT deptno, empno, sal
FROM emp e
WHERE
2 > ( SELECT COUNT(e1.sal)
FROM emp e1
WHERE e.deptno = e1.deptno AND e.sal < e1.sal )
ORDER BY 1,3 DESC;
Index
II. Query that will display the total no. of employees, and of that total the nu
mber who were hired in 1980, 1981, 1982, and 1983. Give appropriate column headi
ngs.
I am looking at the following output. We need to stick to this format.
Total
----------14
1980
-----------1
1981
-----------10
1982
1983
----------------------2
1
ENAME
=======
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
SMITH
SCOTT
MILLER
SAL
====
SUM (SAL)
=========
5000
2850
2450
2975
1250
1600
1500
950
2750
8000
3000
20000
11725
10900
11725
11725
10900
10900
10900
10900
10900
33000
33000
33000
Index
IV. Create a matrix query to display the job, the salary for that job based on d
epartment number, and the total salary for that job for all departments, giving
each column an appropriate heading.
The output is as follows - we need to stick to this format :
Job
30
-------------------ANALYST
CLERK
950
MANAGER
Dept 10
Total
-----------------------
Dept 20
Dept
-------------
--
6000
6000
1300
1900
4150
2450
2975
2850
8275
PRESIDENT
5000
5000
SALESMAN
0
560
5600
SELECT job "Job", SUM (DECODE (deptno, 10, sal)) "Dept 10",
SUM (DECODE (deptno, 20, sal)) "Dept 20",
SUM (DECODE (deptno, 30, sal)) "Dept 30",
SUM (sal) "Total"
FROM emp
GROUP BY job ;
Index
V. 4th Top Salary of all the employees :
SELECT DEPTNO, ENAME, SAL
FROM EMP A
WHERE
3 = (SELECT COUNT(B.SAL) FROM EMP B
WHERE A.SAL < B.SAL) ORDER BY SAL DESC;
Index
VI. Retrieving the 5th row FROM a table :
SELECT DEPTNO, ENAME, SAL
FROM EMP
WHERE ROWID = (SELECT ROWID FROM EMP WHERE ROWNUM <= 5
MINUS
SELECT ROWID FROM EMP WHERE ROWNUM < 5)
Index
VII. Tree Query :
Name
Null?
Type
------------------------------------------------------------------SUB
NOT NULL
VARCHAR2(4)
SUPER
VARCHAR2(4)
PRICE
NUMBER(6,2)
0.0,
0.1,
0.2,
0.3) "Tax rate"
GROUP BY dno;
Index
XIV. Query to get the product of all the values of a column :
SELECT EXP(SUM(LN(col1))) FROM srinu;
Index
XV. Query to display only the duplicate records in a table:
SELECT num
FROM satyam
GROUP BY num
HAVING COUNT(*) > 1;
Index
XVI. Query for getting the following output as many number of rows in the table
:
*
**
***
****
*****
SELECT RPAD(DECODE(temp,temp,'*'),ROWNUM,'*')
FROM srinu1;