0% found this document useful (0 votes)
35 views18 pages

SQL Material Quiries

The document contains a comprehensive list of SQL queries for retrieving various information from employee and department tables. It includes commands for displaying employee details, calculating salaries, filtering by job titles, and performing aggregations. Additionally, it covers string manipulation and date functions relevant to employee data management.

Uploaded by

sangadaashok104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views18 pages

SQL Material Quiries

The document contains a comprehensive list of SQL queries for retrieving various information from employee and department tables. It includes commands for displaying employee details, calculating salaries, filtering by job titles, and performing aggregations. Additionally, it covers string manipulation and date functions relevant to employee data management.

Uploaded by

sangadaashok104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

SQL - QUERIES

1. DISPLAY INFORMATION FROM DEPT TABLE:


SELECT * FROM DEPT

2. DISPLAY THE DETAILS OF ALL EMPLOYEES:


SELECT * FROM EMP

3. DISPLAY NAME, JOB FOR ALL EMPLOYEES:


SELECT ENAME, JOB FROM EMP

4. DISPLAY NAME,SAL FOR ALL EMPLOYEES:


SELECT ENAME, SAL FROM EMP

5. DISPLAY EMPNO, TOTAL SAL OF ALL EMPLOYEES:


SELECT EMPNO, SAL+NVL (COMM, 0) TOTAL_SAL FROM EMP

6. DISPLAY NAME, ANNUAL SALARY OF ALL EMPLOYEES:


SELECT ENAME, SAL*12 ANNUAL_SAL FROM EMP

7. DISPLAY THE NAMES OF ALL EMPLOYEES WHO ARE WORKING IN DEPARTMENT NO-10:
SELECT E.ENAME FROM EMP E, DEPT D WHERE E.DEPTNO=10
AND E.DEPTNO=D.DEPTNO

8. DISPLAY NAMES OF ALL EMPLOYEE WORKINGS AS CLERK AND DRAWING AND


SALARY MORE THAN 3000:
SELECT ENAME FROM EMP WHERE JOB IN ('CLERK', 'DRAWING') AND SAL>1000

9. DISPLAY EMPNO, NAMES OF EMPLOYEES WHO EARNS COMMISION:


SELECT ENAME, COMM FROM EMP WHERE COMM IS NOT NULL
AND COMM NOT IN (0)

10. DISPLAY NAME OF EMPLOYEE WHO DO NOT EARN ANY COMMISION:


SELECT ENAME FROM EMP WHERE COMM IS NULL OR COMM IN (0)

11. DISPLAY THE NAMES OF EMPLOYEES WHO ARE WORKING AS CLERK, SALESMAN,
ANYLIST, DRAWING AND SALARY MORE THAN 300:
SELECT ENAME FROM EMP WHERE JOB IN
('CLERK','SALESMAN','ANALYST','DRAWING') AND SAL>1000;

12. DISPLAY THE NAMES OF EMPLOYEE WHO ARE WORKING IN THE COMPANY FROM
FAST FIVE YEARS:
SELECT ENAME, HIREDATE FROM EMP WHERE ((SYSDATE-HIREDATE)/365)>5

13. DISPLAY CURRENT DATE:


SELECT SYSDATE FROM DUAL

GNANA IT SOLUTIONS, VIZAG 53


14. DISPLAY THE LIST OF EMPLOYEES WHO HAVE JOINED COMPANY BEFORE 30-JUN-90
OR AFTER 31-DEC-90:
SELECT ENAME, HIREDATE FROM EMP WHERE ((SYSDATE-HIREDATE)/365)<5

15. DISPLAY THE LIST OF USERS IN YOUR DATABASE:


SELECT * FROM ALL_USERS

16. DISPLAY NAMES OF ALL TABLES FROM CURRENT USER:


SELECT * FROM TABS

17. DISPLAY THE NAME OF CURRENT USER:


SELECT USER FROM DUAL

18. DISPLAY THE NAMES OF EMPLOYEES WORKING IN THE DEPARTMENT N0.10,20,40


EMPLOYEES WORKING AS CLERKS, SALESMAN OR ANALYST:
SELECT ENAME, JOB, DEPTNO FROM EMP WHERE JOB IN ('ANALYST', 'SALESMAN',
'CLERK') AND DEPTNO IN (10, 30, 40)-18

19. DISPLAY EMPLOYEE NAMES FOR WHOSE NAME ENDS WITH ALPHABET S:
SELECT ENAME FROM EMP WHERE ENAME LIKE '%S'

20. DISPLAY THE NAMES FOR EMPLOYEES WHO’S NAMES HAVE SECOND ALPHABET A
IN THEIR NAMES:
SELECT ENAME FROM EMP WHERE ENAME LIKE '_A%'

21. DISPLAY THE NAMES OF EMPLOYEES WHOSE NAMES IS EXACTLY FIVE CHARACTER
IN LENGTH:
SELECT ENAME FROM EMP WHERE LENGTH (ENAME)=5

22. DISPLAY THE NAMES OF EMPLOYEES WHO ARE NOT WORKING AS MANAGER:
SELECT ENAME, JOB FROM EMP WHERE JOB NOT IN ('MANAGER')
------OR-----
SELECT ENAME, JOB FROM EMP WHERE EMPNO NOT IN (MGR)

23. DISPLAY THE NAME OF EMPLOYEES WHO ARE NOT WORKING AS SALESMAN OR
CLERK OR ANALYST:
SELECT ENAME, JOB FROM EMP WHERE JOB
NOT IN ('ANALYST','CLERK','SALESMAN')

24. DISPLAY ALL ROWS FROM EMP TABLE. THE SYSTEM SHOULD WAIT AFTER EVERY
SCREEN FULL OF INFORMATION:
SELECT * FROM EMP (REMAING FRONT_END USER JOB)

25. DISPLAY THE TOTAL NUMBER OF EMPLOYEES WORKING IN THE COMPANY:


SELECT COUNT(*) FROM EMP

26. DISPLAY THE TOTAL SALARY BEING PAID TO ALL EMPLOYEES:


SELECT SUM (SAL+NVL (COMM,0))FROM EMP

GNANA IT SOLUTIONS, VIZAG 54


27. DISPLAY THE MAXIMUM SALARY FROM EMP TABLE:
SELECT MAX (SAL) FROM EMP

28. DISPLAY THE MINIMUM SALARY FROM EMP TABLE:


SELECT MIN (SAL) FROM EMP

29. DISPLAY THE TOTAL SALARY BEING PAID TO CLERK:


SELECT MAX(SAL) FROM EMP WHERE JOB='CLERK'

31. DISPLAY THE MAXIMUM SALARY BEING PAID IN THE DEPARTMENT NO.20:
SELECT MAX (SAL) FROM EMP WHERE DEPTNO=20

32. DISPLAY THE MIN SAL BEING PAID TO ANY SALESMAN:


SELECT MIN (SAL) FROM EMP WHERE JOB='SALESMAN'

33. DISPLAY THE AVG SALARY DRAWN BY MANAGERS:


SELECT TRUNC (AVG(SAL)) FROM EMP WHERE JOB='MANAGER'

34. DISPLAY THE TOTAL SALARY DRAWN BY ANALYST WORKING IN DEPARTMENT


NO.20:
SELECT SAL+NVL (COMM,0) TOTAL_SAL FROM EMP WHERE DEPTNO=20 AND
JOB='ANALYST'

35. DISPLAY THE NAMES OF THE EMPLOYEES IN ORDER OF SALARY i.e THE NAME OF
THE EMPLOYEE EARNING LOWEST SALARY SHOULD APPEAR FIRST:
SELECT ENAME, SAL FROM EMP ORDER BY SAL

36. DISPLAY THE NAMES OF EMPLOYEES IN DESCENDING ORDER OF SALARY:


SELECT ENAME,DEPTNO, SAL FROM EMP ORDER BY SAL DESC

37. DISPLAY THE DETAILS FROM EMP TABLE IN ORDER OF EMPLOYEE NAME:
SELECT ENAME, SAL FROM EMP ORDER BY ENAME

38. DISPLAY THE EMPNO, ENAME, DEPTNO AND SAL. SORT THE OUTPUT FIRST BASED
ON NAME AND WITHIN NAME BY DEPTNO AND WITHIN DEPTNO BY SALARY:
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP ORDER BY ENAME, DEPTNO, SAL

39. DISPLAY THE NAME OF THE EMPLOYEE ALONG WITH ANNUAL SALARY. THE NAME
OF THE EMPLOYEE EARNING HIGHEST ANNUAL SALARY SHOULD APPEAR FIRST:
SELECT ENAME, SAL*12 ANUAL_SAL FROM EMP ORDER BY (SAL*12) DESC

40. DISPLAY NAME, SALARY, HRA, PF, DA, TOTAL SALARY FOR EACH EMPLOYEE. THE
OUTPUT SHOULD BE IN THE OREDR OF TOTAL SALARY, (HRA 15%, DA 10%, PF 5%)
OF SAL AND TOTAL SALARY WILL BE (SAL*HRA*DA)-PF:
SELECT ENAME, SAL, SAL*15/100 HRA, SAL*10/100 DA, SAL*5/100 PF FROM EMP
ORDER BY (SAL*HRA*DA)-PF

41. DISPLAY THE DEPTNO, TOTAL NUMBER OF EMPLOYEES WITH EACH JOB GROUP:
SELECT DEPTNO, COUNT(*) FROM EMP GROUP BY DEPTNO ORDER BY DEPTNO

GNANA IT SOLUTIONS, VIZAG 55


42. DISPLAY THE VARIOUS JOBS AND TOTAL NUMBER OF EMPLOYEES IN EACH JOB
GROUP:
SELECT JOB, COUNT(*) FROM EMP GROUP BY JOB

43. DISPLAY DEPARTMENT NUMBERS AND TOTAL SALARY FOR EACH DEPARTMENT:
SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO

44. DISPLAY DEPARTMENT NUMBERS AND MAXIMUM SLARY FOR EACH DEPARTMENT:
SELECT DEPTNO, MAX(SAL) FROM EMP GROUP BY DEPTNO

45. DISPLAY THE VARIOUS JOBS AND TOTAL SALARY FOR EACH JOB:
SELECT JOB, SUM(SAL) FROM EMP GROUP BY JOB

46. DISPLAY EACH JOB ALONG WITH MINIMUM SALARY BEING PAID IN EACH JOB
GROUP:
SELECT JOB, MAX(SAL) FROM EMP GROUP BY JOB

47. DISPLAY THE DEPARTMENT NUMBERS WITH MORE THAN THREE EMPLOYEES IN
EACH DEPARTMENT:
SELECT DEPTNO, COUNT(*) FROM EMP WHEN HAVING COUNT(*)>3 GROUP BY
DEPTNO

48. DISPLAY THE VARIOUS JOBS ALONG WITH TOTAL SALARY FOR EACH OF THE JOBS
WHERE TOTAL SALARY IS GREATER THAN 4000:
SELECT JOB, SUM(SAL) FROM EMP WHEN HAVING SUM(SAL)>4000 GROUP BY JOB

49. DISPLAY THE VARIOUS JOBS ALONG WITH TOTAL NUMBER OF EMPLOYEES IN EACH JOB
THE OUTPUT SHOULD CONTAIN ONLY THOSE JOBS WITH MORE THAN THREE EMPLOYEE :
SELECT JOB, COUNT(*) FROM EMP WHEN HAVING COUNT(*)>3 GROUP BY JOB

50. DISPLAY THE NAME OF THE EMPLOYEE WHO EARNS HIGHEST SALARY:
SELECT ENAME FROM EMP WHERE SAL = (SELECT MAX (SAL) FROM EMP)

51. DISPLAY THE EMPLOYEE NUMBER AND NAME OF THE WORKING AS CLERK AND
EARNING HIGHEST SALARY AMONG CLERK:
SELECT EMPNO, ENAME, SAL FROM EMP WHERE JOB ='CLERK' AND SAL IN (SELECT
MAX (SAL) FROM EMP GROUP BY JOB)

52. DISPLAY THE NAMES OF THE SALESMAN WHO EARNS A SALARY MORE THAN THE
HIGHEST SALARY OF ANY CLERK:
SELECT ENAME FROM EMP WHERE JOB='SALESMAN' AND SAL>
(SELECT MAX (SAL) FROM EMP WHERE JOB='CLERK')

53. DISPLAY THE NAMES OF THE CLERKS WHO EARN A SALARY MORE THAN THAT OF
JAMES OF THAT OF SALARY LESSER THAN THAT OF SCOTT:
SELECT ENAME FROM EMP WHERE JOB='CLERK' AND SAL >
(SELECT SAL FROM EMP WHERE ENAME='JAMES') AND SAL <
(SELECT SAL FROM EMP WHERE ENAME='SCOTT')

GNANA IT SOLUTIONS, VIZAG 56


54. DISPLAY THE NAMES OF THE EMPLOYEES WHO EARN A SALARY MORE THAN THAT
OF JAMES OF THAT OF SALARY LESSER THAN THAT OF SCOTT:
SELECT ENAME FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE
ENAME='JAMES') AND SAL<(SELECT SAL FROM EMP WHERE ENAME='SCOTT')

55. FIND OUT THE LENGTH OF YOUR NAME BY USING APPROPIATE FUNCTION:
SELECT LENGTH ('RAMANA MURTHY') FROM DUAL

56. DISPLAY THE NAMES OF THE EMPLOYEES WHO EARNS HIGHEST SALARY IN THEIR
RESPECTIVE DEPARTMENTS:
SELECT ENAME FROM EMP WHERE SAL IN (SELECT MAX (SAL)FROM EMP
GROUP BY DEPTNO)

57. DISPLAY THE NAMES OF EMPLOYEES WHO EARNS HIGHEST SALARY IN THEIR
RESPECTIVE JOB GROUPS:
SELECT ENAME FROM EMP WHERE SAL IN(SELECT MAX(SAL) FROM EMP GROUP
BY JOB)

58. DISPLAY THE EMPLOYEES NAME WHO ARE WORKING IN THE ACCOUNTING
DEPARTMENT:
SELECT E.ENAME FROM EMP E, DEPT D WHERE D.DNAME= 'ACCOUNTING' AND
E.DEPTNO=D.DEPTNO

59. DISPLAY THE EMPLOYEES NAMES WHO ARE WORKING IN THE CHICAGO:
SELECT E.ENAME FROM EMP E, DEPT D WHERE D.LOC='CHICAGO' AND
E.DEPTNO=D.DEPTNO

60. DISPLAY THE JOB GROUPS HAVING TOTAL SALARY GREATER THAN THE MAXIMUM
SALARY FOR MANAGERS:
SELECT JOB, SUM (SAL) FROM EMP WHEN HAVING SUM(SAL) >
(SELECT MAX (SAL)FROM EMP WHERE JOB= 'MANAGER')GROUP BY JOB

61. DISPLAY THE NAMES OF EMPLOYEES FROM DEPARTMENT NUMBER 10 AND SALARY
GREATER THAN THAT OF ANY EMPLOYEE WORKING IN OTHER DEPARTMENTS:
SELECT ENAME FROM EMP WHERE SAL> (SELECT MAX(SAL) FROM EMP WHERE
DEPTNO IN (20,30))

62. DISPLAY THE NAMES OF THE EMPLOYEES FROM DEPARTMENT 10 WITH SALARY
GREATER THAN THAT OF ALL EMPLOYEES WORKING IN OTHER DEPARTMENTS:
SELECT ENAME FROM EMP WHERE SAL> (SELECT MAX(SAL) FROM EMP
WHERE DEPTNO IN (20, 30))

63. DISPLAY NAMES OF EMPLOYEE IN UPPER CASE:


SELECT UPPER (ENAME) FROM EMP

64. DISPLAY NAMES OF EMPLOYEE IN LOWER CASE:


SELECT LOWER (ENAME) FROM EMP

65. DISPLAY NAMES OF EMPLOYEE IN PROPER CASE:


SELECT * FROM EMP WHERE UPPER (ENAME)= UPPER('smith')
GNANA IT SOLUTIONS, VIZAG 57
66. DISPLAY THE LENGTH OF ALL EMPLOYEE NAMES:
SELECT ENAME, LENGTH (ENAME) FROM EMP-66

67. DISPLAY THE NAME OF THE CONCATENATE WITH EMPLOYEE NUMBER:


SELECT ENAME||'-'||EMPNO FROM EMP
68. USE APPROPIATE FUNCTION AND EXTRACT 3 CHARECTORS STARTING FROM 2 CHARACTER
FROM THE FOLLOWING STRING 'ORACLE' i.e THE OUT PUT SHOULD BE 'RAC':
SELECT SUBSTR('ORACLE',2,3)FROM DUAL

69. FIND OUT FIRST OCCURANCE OF CHARACTER 'A' FROM THE FOLLOWING THE
STRING 'COMPUTER MAINTANANCE CORPORATION':
SELECT INSTR ('COMPUTER MAINTENANCE CORPORATION', 'A',1) FROM DUAL

70. REPLACE EVERY OCCURANCE OF ALPHABET A WITH B IN THE STRING ALLEN'S


(USER TRANSLATE FUNCTION):
SELECT REPLACE ('ALLENS','A','B') FROM DUAL

71. DISPLAY THE INFORMATION FROM EMP TABLE WHEREVER JOB 'MANAGER' IS
FOUND IT SHOULD BE DISPLAYED AS BOSS (REPLACE FUNCTION):
SELECT ENAME, JOB, REPLACE (JOB,'MANAGER', 'BOSS') FROM EMP WHERE
JOB='MANAGER'

72. DISPLAY EMPNO, ENAME, DEPTNO FROM TABLE INSTEAD OF DISPLAY DEPATMENT
NUMBERS DISPLAY THE REALATED DEPARTAMENT NAME (DECODE FUNCTION):
SELECT E.ENAME, E.DEPTNO, DECODE (D.DEPTNO, E.DEPTNO, D.DNAME)
FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO ORDER BY E.DEPTNO;

73. DISPLAY YOUR AGE IN DAYS:


SELECT TRUNC (SYSDATE TO_DATE('25/07/1996', 'DD/MM/YYYY'))FROM DUAL

74. DISPLAY YOUR AGE IN MONTHS:


SELECT TRUNC ((SYSDATE TO_DATE('25/07/1996', 'DD/MM/YYYY'))/12)FROM DUAL

75. DISPLAY CURRENT DATE 15TH AUGEST FRIDAY NINETEEN FORTY SEVEN:
SELECT TO_CHAR(SYSDATE,'DD')||'TH '||TO_CHAR (SYSDATE, 'MONTH')||'
'||TO_CHAR(SYSDATE,'DAY')||' ' ||TO_CHAR(SYSDATE,'YYYYSP') QUARIE_75
FROM DUAL

76. DISPLAY THE FOLLOWING OUTPUT FOR EACH ROW FROM EMP TABLE AS 'SCOTT
HAS JOINED THE COMPANY ON WEDNESDAY 13TH AUGEST NINTEEN NINETY':
SELECT ENAME ||' HAS JOINED'||TO_CHAR(HIREDATE, 'DD')||'TH '||TO_CHAR
(HIREDATE, 'MONTH')||' '||TO_CHAR (HIREDATE,'DAY')||' '||TO_CHAR
(HIREDATE,'YYYYSP') JOIN_DATE_QUARIE_76 FROM EMP

77. FIND THE DATE OF NAEREST SATURDAY AFTER CURRENT DAY:


SELECT NEXT_DAY (SYSDATE,'SAT') FROM DUAL

78. DISPLAY CURRENT TIME:


SELECT SYSTIMESTAMP FROM DUAL

GNANA IT SOLUTIONS, VIZAG 58


79. DISPLAY THE DATE THREE MONTHS BEFORE THE CURRENT DATE:
SELECT ADD_MONTHS (SYSDATE,-3) FROM DUAL

80. DISPLAY THE COMMON JOBS FROM DEPARTMENT NUMBER 10,20:


SELECT JOB FROM EMP WHERE DEPTNO=10 INTERSECT SELECT JOB FROM EMP
WHERE DEPTNO=20

81. DISPLAY THE DETAILS OF THE THOSE WHO DO NOT HAVE ANY PERSON WORKING
UNDER THEM:
SELECT DISTINCT ENAME, JOB, MGR FROM EMP WHERE EMPNO NOT IN MGR

82. DISPLAY THE JOBS WHICH ARE UNIQUE TO THE DEPARTMENT NUMBER 10:
SELECT DISTINCT JOB FROM EMP WHERE DEPTNO=20

83. DISPLAY THE JOBS FOUND IN DEPARTMENT NUMBER 10 AND 20 ELIMINATE


DUPLICATE JOBS:
SELECT JOB FROM EMP WHERE DEPTNO=10
UNION
SELECT JOB FROM EMP WHERE DEPTNO=20

84. DISPLAY THE DETAILS OF EMPLOYEES WHO ARE IN DEPT TABLE AND GRADE IS 3:
SELECT E.ENAME, D.DNAME, G.GRADE FROM EMP E, GRADE G, DEPT D WHERE
G.GRADE=3 AND E.SAL BETWEEN G.LOSAL AND G.HISAL
AND E.DEPTNO=D.DEPTNO

85. DISPLAY THOSE WHO ARE NOT MANAGER AND WHO ARE MANAGER ANY ONE:
SELECT ENAME, JOB, EMPNO, MGR FROM EMP WHERE JOB NOT IN ('MANAGER')
AND EMPNO NOT IN MGR

86. DISPLAY THOSE EMPLOYEES WHOSE NAME CONSTAIN NOT LESS THAN 4
CHARACTERS:
SELECT ENAME FROM EMP WHERE LENGTH(ENAME)>3

87. DISPLAY THOSE DEPARTMENTS WHOSE NAME STARTS WITH 'S' WHILE LOCATION
NAME END WITH '0':
SELECT DNAME, LOC FROM DEPT WHERE DNAME LIKE '%S' AND LOC LIKE'%O'

88. DISPLAY THOSE EMPLOYEES WHOSE MANAGER NAME IS JONES:


SELECT ENAME,MGR FROM EMP WHERE MGR=(SELECT EMPNO FROM EMP
WHERE ENAME='JONES')

89. DISPLAY THOSE EMPLOYEES WHOSE SALARY IS GREATER THAN 3000 AFTER GIVING
20% INCREMENT:
SELECT ENAME, SAL,(SAL+SAL*20/100) INCR_SAL FROM EMP
WHERE (SAL+SAL*20/100)>3000

90. DISPLAY ALL EMPLOYEES WITH THE DEPARTMENT NAME:


SELECT E.ENAME, D.DNAME FROM EMP E, DEPT D WHERE D.DEPTNO=E.DEPTNO

GNANA IT SOLUTIONS, VIZAG 59


91. DISPLAY ENAME WHO ARE WORKING IS SALES DEPARTMENT:
SELECT E.ENAME, D.DNAME FROM EMP E, DEPT D WHERE D.DNAME='SALES' AND
D.DEPTNO=E.DEPTNO

92. DISPLAY EMPLOYEE NAME, DEPARTMENT NAME, SALARY AND COMM FOR WHOSE
SALARY IN BETWEEN 2000 AND 5000 WHILE LOCATION IN CHICAGO:
SELECT E.ENAME, D.DNAME, E.SAL, E.COMM FROM EMP E, DEPT D WHERE E.SAL
BETWEEN 2000 AND 5000 AND D.LOC IN ('CHICAGO') AND D.DEPTNO=E.DEPTNO

93. DISPLAY THOSE EMPLOYEE WHOSE SALARY IS GREATER THAN HIS MANAGER
SALARY:
SELECT W.ENAME FROM EMP W, EMP M WHERE W.MGR=M.EMPNO AND
W.SAL>M.SAL

94. DISPLAY THOSE EMPLOYEES WHO ARE WORKING IN THE SAME DEPARTMENT
WHERE HIS MANAGER IS WORKING:
SELECT W.ENAME WORKER, M.ENAME MANAGER, W.DEPTNO, M.DEPTNO FROM
EMP W, EMP M WHERE W.MGR=M.EMPNO AND W.DEPTNO=M.DEPTNO

95. DISPLAY THOSE EMPLOYEES WHO ARE NOT WORKING UNDER ANY MANAGER:
SELECT * FROM EMP WHERE MGR IS NULL

96. DISPLAY GRADE AND EMPLOYES NAME FOR THE DEPARTMENT NUMBER 10 AND 30
BUT GRADE IS NOT 4, WHILE JOINED THE COMPANY BEFORE 31-DEC-82:
SELECT E.ENAME, D.DEPTNO, G.GRADE, E.HIREDATE FROM EMP E, DEPT D,
GRADE G WHERE E.DEPTNO=D.DEPTNO AND E.SAL BETWEEN G.LOSAL AND
G.HISAL AND E.DEPTNO IN (10,30) AND G.GRADE NOT IN (4)
AND E.HIREDATE<'31/DEC/1982' ORDER BY D.DEPTNO

97. UPDATE THE SALARY OF EACH EMPLOYEE BY 10% INCREATENTS THAT ARE NOT
ELIGIBLE FOR COMMISION:
UPDATE EMP2 SET COMM=SAL*10/100 WHERE NVL(COMM,0)=0

98. DELETE EMPLOYEES WHO JOINED THE COMPANY BEFORE 31-DEC-82 WHILE
THERE DEPARTMENT LOCATION IS 'NEW YORK' OR 'CHICAGO':
DELETE FROM EMP2 WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE LOC
IN ('NEW YORK','CHICAGO')) AND HIREDATE<'31/DEC/1982'

99. DISPLAY EMPLOYEE NAME, JOB, DEPARTMENT NAME, AND LOCATION FOR ALL
WHO ARE WORKING AS MANAGERS:
SELECT E.ENAME, E.JOB, D.DNAME, D.LOC FROM EMP E, DEPT D
WHERE E.JOB='MANAGER'

100. DISPLAY THE NAME AND SALARY OF FORD IF HIS SALARY IS EQUAL TO HIGH
SALARY OF HIS GRADE:
SELECT E.ENAME, E.SAL, G.HISAL FROM EMP E, GRADE G WHERE
E.ENAME='FORD' AND E.SAL=G.HISAL

101. DISPLAY THE NAME OF THOSE EMPLOYEES WHO ARE GETTING HIGHEST SALARY:
SELECT * FROM EMP WHERE SAL=(SELECT MAX(SAL) FROM EMP)
GNANA IT SOLUTIONS, VIZAG 60
102. DISPLAY THOSE EMPLOYEES WHOSE MANAGER NAME IS JONES AND ALSO
DISPLAY THE MANAGER NAME:
SELECT W.ENAME EMPLOYEE, M.ENAME MANAGER FROM EMP W, EMP M
WHERE W.MGR=(SELECT EMPNO FROM EMP WHERE ENAME ='JONES') AND
M.EMPNO=(SELECT EMPNO FROM EMP WHERE ENAME='JONES')-100

103. DISPLAY THE EMPLOYEE NAME, JOB, DEPARTMENT NAME, LOCATION FOR ALL
WHO ARE WORKING AS MANAGER:
SELECT W.ENAME, W.JOB, D.DNAME, M.ENAME MANAGER ,G.GRADE FROM EMP
W,EMP M, DEPT D, GRADE G WHERE W.MGR=M.EMPNO AND W.SAL BETWEEN
G.LOSAL AND G.HISAL AND M.DEPTNO=D.DEPTNO ORDER BY W.DEPTNO

104. DISPLAY EMPLOYEE NAME, JOB, HIS MANAGER AND DISPLAY ALSO EMPLOYEES
WHO ARE WITHOUT MANAGER:
SELECT W.ENAME, W.JOB, M.ENAME MANAGER FROM EMP W,EMP M
WHERE W.MGR=M.EMPNO

105. LIST OUT ALL THE EMPLOYEES NAME, JOB, SALARY GARDE, DEPARTMENT NAME
FOR EVERY ONE IN THE COMPANY EXCEPT 'CLERK' SORT ON SALARY DISPLAY THE
HIGHEST SALARY:
SELECT E.ENAME, E.JOB, D.DNAME, G.GRADE FROM EMP E, DEPT D, GRADE G
WHERE E.SAL BETWEEN G.LOSAL AND G.HISAL AND E.DEPTNO=D.DEPTNO AND
E.ENAME NOT IN ('CLERK')ORDER BY E.SAL DESC

106. DISPLAY THOSE EMPLOYEE WHOSE SALARY IS EQAUAL TO AVERAGE OF


MAXIMUM AND MINIMUM:
SELECT*FROM EMP WHERE SAL> (SELECT AVG(SAL2) FROM
(SELECT MAX (SAL) SAL2 FROM EMP UNION SELECT MIN(SAL)FROM EMP))

107. DISPLAY THE COUNT OF EMPLOYEE IN EACH DEPARTMENT WHERE COUNT


GREATER THAN 3:
SELECT DEPTNO, COUNT (*) FROM EMP WHEN HAVING COUNT(*)>3
GROUP BY DEPTNO

108. DISPLAY DEPARTMENT NAME WHERE AT LEAST 3 ARE WORKING AND DISPLAY
ONLY DEPARTMENT NAME:
SELECT DNAME FROM (SELECT DEPTNO FROM EMP GROUP BY DEPTNO
HAVING COUNT (*)> =3)E,DEPT D WHERE E.DEPTNO = D.DEPTNO

109. DISPLAY NAMES OF THOSE MANAGERS WHOSE SALARY IS MORE THAN THAT
AVERAGE SALARY OF COMAPNY:
SELECT ENAME FROM EMP WHERE JOB ='MANAGER' AND SAL>(SELECT AVG(SAL)
FROM EMP)

113. FIND OUT THE LAST 5 (LEAST) EARNER OF THE COMPANY:


SELECT * FROM (SELECT ENAME, JOB, SAL FROM EMP ORDER BY SAL)WHERE
ROWNUM BETWEEN 1 AND 5

121. DISPLAY THOSE EMPLOYEE WHOSE SALARY IS ODD VALUE:


SELECT *FROM EMP WHERE MOD(SAL,2)=1-121
GNANA IT SOLUTIONS, VIZAG 61
110. DISPLAY THOSE MANAGER NAMES WHOSE SALARY IS MORE THAN AN AVERAGE
OF HIS EMPLOYEES:
SELECT * FROM EMP E WHERE SAL> (SELECT AVG (SAL) FROM EMP D WHERE
D.EMPNO=E.MGR)

111. DISPLAY EMPLOYEE NAME, SALARY, COMMISION, NET PAY AND WHOSE NET PAY
IS GREATER THAN OR EQUAL TO THEIR SALARY OF THE COMPANY:
SELECT E.ENAME, E.SAL, E.COMM, A.NET_PAY FROM EMP E,
(SELECT EMPNO, SAL+NVL (COMM, 0)-SAL*10/100 NET_PAY FROM EMP)A
WHERE E.EMPNO=A.EMPNO AND A.NET_PAY >=SAL;

112. DISPLAY THOSE EMPLOYEES WHOSE SALARY IS LESS THAN HIS MANAGER
SALARY BUT MORE THAN SALARY OF ANY OTHER MANAGER:
SELECT DISTINCT T.ENAME, T.SAL FROM (SELECT W.ENAME, W.SAL FROM EMP W,
EMP M WHERE W.MGR=M.EMPNO AND W.SAL<M.SAL ) T, (SELECT M.SAL FROM
EMP W, EMP M WHERE W.MGR=M.EMPNO) R WHERE T.SAL>R.SAL;

114. FIND OUT THE NUMBER OF EMPLOYEES WHOSE SALARY IS GREATER THAN THERE
MANAGER SALARY:
SELECT COUNT (*) FROM (SELECT W.ENAME FROM EMP W, EMP M WHERE
W.MGR=M.EMPNO AND W.SAL > M.SAL)

115. DISPLAY THOSE MANAGER WHO ARE NOT WORKING UNDER PRESEDENT BUT
WORKING UNDER ANY OTHER MAANAAGER:
SELECT * FROM EMP WHERE MGR IS NOT NULL AND MGR NOT IN(SELECT EMPNO
FROM EMP WHERE JOB='PRESIDENT')
---------OR----------
SELECT * FROM EMP W, EMP M WHERE W.MGR=M.EMPNO
AND W.MGR IS NOT NULL AND M.JOB NOT IN ('PRESIDENT')

116. DELETE THOSE DEPARTMENTS WHERE NO EMPLOYYES WORKING:


DELETE FROM DEPT WHERE DEPTNO NOT IN
(SELECT DISTINCT(DEPTNO) FROM EMP)

117. DELETE THOSE RECORDS FROM EMP TABLE WHOSE DEPARTMENT NUMBER NOT
AVAILANBLE IN DEPARTMENT TABLE:
DELETE FROM EMP2 WHERE DEPTNO NOT IN
(SELECT D.DEPTNO FROM EMP2 E, DEPT D WHERE E.DEPTNO(+)=D.DEPTNO)

118. DISPLAY THOSE EARNERS WHOSE SALARY IS OUT OF THE GRADE AVAILABLE IN
SALARY GRADE TABLE:
SELECT *FROM EMP E,GRADE G WHERE GRADE=
(SELECT MAX(GRADE)FROM GRADE) AND E.SAL BETWEEN G.LOSAL AND G.HISAL

119. DISPLAY EMPLOYEE NAME, SALARY, COMMISION AND WHO’S NET PAY IS
GREATER THAN ANY OTHER IN THE COMPANY:
SELECT DISTINCT E.EMPNO, E.ENAME, E.SAL, E.COMM, A.NET_PAY FROM EMP E,
(SELECT EMPNO, SAL+NVL (COMM,0)-SAL*10/100 NET_PAY FROM EMP)A
WHERE A.NET_PAY > (SAL+NVL (COMM, 0)-SAL*10/100);

GNANA IT SOLUTIONS, VIZAG 62


120. DISPLAY NAME OF THE EMPLOYEE WHO ARE GOING TO RETIRE 31-DEC-99. IF THE
MAXIMUM JOB PERIOD IS 18 YEARS:
SELECT * FROM (SELECT ENAME, HIREDATE,TRUNC (MONTHS_BETWEEN
(TO_DATE('31/12/1999', 'DD/MM/YYYY'), HIREDATE)/12) EXPERIENCE FROM EMP)
WHERE EXPERIENCE>18

122. DISPLAY THOSE EMPLOYEE WHOSE SALARY CONTAINS AT LEAST 4 DIGITS:


SELECT*FROM EMP WHERE LENGTH(SAL)>3-122

123. DISPLAY THOSE EMPLOYEES WHO JOINED IN THE COMPANY IN THE MONTH OF
DECEMBER:
SELECT * FROM EMP WHERE TO_CHAR (HIREDATE,'MM')=12

124. DISPLAY THOSE EMPLOYEE WHOSE NAME CONTAIN 'A':


SELECT * FROM EMP WHERE ENAME LIKE '%A%'

125. DISPLAY THOSE EMPLOYEE WHOSE DEPARTMENT NUMBER AVAILABLE IN SLARY:


SELECT ENAME, SAL, DEPTNO FROM (SELECT ENAME, SAL, SUBSTR
(SAL,1,2)SUB_SAL, DEPTNO FROM EMP2) WHERE SUB_SAL IN DEPTNO

126. DISPLAY FIRST 2 CHARECTER OF HIREDATE AND LAST 2 CHARECTER OF SALARY


OF THE EMPLOYEES:
SELECT SUBSTR (HIREDATE,1,2)||'-'||SUBSTR(SAL,-2,2)HIREDATE_SAL FROM EMP

127. DISPLAY THOSE EMPLOYEE WHOSE 10% SALARY IS EQUAL TO THE YEAR OF
JOINING:
SELECT * FROM EMP WHERE(SAL*10/100)= (TO_CHAR (HIREDATE,'YY'))

128. DISPLAY THOSE EMPLOYEE WHO ARE WORKING IN SALES OR RESEARCH:


SELECT * FROM EMP E , DEPT D WHERE D.DNAME IN ('SALES','REASEARCH')
AND E.DEPTNO=D.DEPTNO

129. DISPLAY THE GRADE OF JONES:


SELECT E.ENAME, G.GRADE FROM EMP E, GRADE G WHERE E.SAL
BETWEEN G.LOSAL AND G.HISAL AND E.ENAME='JONES'

130. DISPLAY THOSE EMPLOYEES WHO JOINED THE COMPANY BEFORE 15TH OF THE MONTH:
SELECT * FROM EMP WHERE TO_CHAR (HIREDATE,'DD')<15

131. DELETE THOSE EMPLOYEES WHO JOINED THE COMPANY 21 YAERS BACK FROM TODAY:
SELECT * FROM EMP WHERE (SYSDATE-HIREDATE)/365>21

132. DISPLAY THOSE EMPLOYEES WHO ARE WORKING AS MANAGER:


SELECT * FROM EMP WHERE JOB='MANAGER'

133. COUNT THE NUMBER OF EMPLOYEES WHO ARE WORKING AS MANAGER:


SELECT JOB, COUNT (*) FROM EMP GROUP BY JOB HAVING JOB='MANAGER'
--------- (OR) ---------
SELECT DISTINCT (M.ENAME), M.JOB FROM EMP W, EMP M
WHERE W.MGR=M.EMPNO

GNANA IT SOLUTIONS, VIZAG 63


134. DISPLAY THE DEPARTMENT NAME, THE NUMBER OF CHARECTERS OF WICH IS
EQUAL TO NUMBER OF EMPLOYEES IN ANY OTHER DEPARTMENT:
SELECT * FROM DEPT WHERE LENGTH(DNAME) IN (SELECT COUNT(*) FROM EMP
GROUP BY DEPTNO)
---------------- (OR) --------------
SELECT * FROM DEPT D,(SELECT DEPTNO, COUNT(*) C_DPT FROM EMP
GROUP BY DEPTNO)S WHERE LENGTH (D.DNAME) IN S.C_DPT

135. DISPLAY THE NAME OF THE DEPARTMENT THOSE EMPLOYEES WHO JOINED THE
COMPANY ON THE SAME DATE:
SELECT * FROM EMP WHERE HIREDATE IN (SELECT HIREDATE FROM EMP
GROUP BY HIREDATE HAVING COUNT (*) >1)
----------- (OR) ------------
SELECT * FROM EMP E, (SELECT HIREDATE FROM EMP GROUP BY HIREDATE
HAVING COUNT (*)>1) AWHEREE.HIREDATE=A.HIREDATE

136. DISPLAY THE MANAGER NAME WHO HAS MAXIMUM NUMBER OF EMPLOYEES
WORKING UNDER HIM:
SELECT E.ENAME, C.NO_EMP FROM EMP E, (SELECT * FROM (SELECT
MGR, COUNT (*) NO_EMP FROM EMP GROUP BY MGR ORDER BY COUNT (*)DESC)
WHERE ROWNUM=1)C WHERE E.EMPNO=C.MGR

137. LIST OUT EMPLOYEES NAME AND SALARY INCREASED BY 15% AND EXPREDDED
AS WHOLE NUMBER DOLLAR:
SELECT ENAME, TRUNC((SAL+SAL*15/100)/72,2) SAL_DOLLORS FROM EMP

138. PRODUCE THE OUTPUT OF THE EMP TABLE "EMPLOYEE_AND_JOB" FOR NAME AND
JOB:
SELECT ENAME||'_AND_'||JOB FROM EMP

139. LIST ALL EMPLOYEES WITH HIREDATE IN FORMAT 'JUNE 4 1988':


SELECT ENAME||'-'|| TO_CHAR (HIREDATE, LOWER ('MONTH')||' '||'DD'||' '||'YYYY')
JOIN_DATE FROM EMP

140. PRINT A LIST OF EMPLOYEES DISPLAYING 'LESS SALARY' IF LESS THAN 1500 IF
EXACTLY 1500 DISPLAY AS 'EXACT SALARY' AND IF GREATER THAN 1500 THEN
DISPLAY 'MORE SALARY':
SELECT ENAME, SAL, CASE WHEN SAL<1500 THEN 'LESS_SAL'WHEN SAL=1500
THEN 'EXACT_SAL' ELSE 'MORE_SAL' END SAL_INFO FROM EMP

141. WRITE A QUERY TO CALUCULATE THE LENGTH OF EMPLOYEE NAME HAS BEEN
WITH THE QUERY:
SELECT ENAME, LENGTH (ENAME) FROM EMP

142. DISPLAY THOSE MANAGERS WHO ARE GETTING LESS THAN HIS EMPLOYEES
SALARY:
SELECT * FROM EMP W, EMP M WHERE W.MGR=M.EMPNO AND W.SAL>M.SAL

143. DISPLAY THOSE WHO WORKING AS MANAGER USING CO-REALTED SUB QUERY:
SELECT * FROM EMP WHERE EMPNO IN (SELECT MGR FROM EMP)

GNANA IT SOLUTIONS, VIZAG 64


144. PRINT THE DETAILS OF ALL THE EMPLOYEES WHO ARE SUB ORDINATE TO BLAKE:
SELECT * FROM EMP WHERE MGR=(SELECT EMPNO FROM EMP
WHERE ENAME='BLAKE')

145. DEFINE VARIABLE REPRESENTING THE EXPRESSIONS USED TO CALUCULATE ON


EMPLOYEES TOTAL ANNUAL REMUNIRATION:
SELECT (SAL+NVL(COMM,0))*12 ANNUAL_SAL FROM EMP

146. USE THE VARIABLE IN A STATEMENT WHICH FINDS ALL EMPLOYEES WHO CAN
EARN 3000 A YEAR OR MORE:
SELECT ENAME, (SAL+NVL(COMM,0))*12 ANNUAL_SAL FROM EMP WHERE
((SAL+NVL(COMM,0))*12)>=30000

147. FIND OUT HOW MANY MANAGERS ARE THERE WITH OUT LISTENING THEM:
SELECT COUNT (*) FROM EMP WHERE EMPNO IN (SELECT MGR FROM EMP)

148. DISPLAY THOSE EMPLOYEES WHOSE MANAGER NAME IS JONES ALSO WITH HIS
MANAGER NAME:
SELECT W.ENAME WORKER, M.ENAME MANAGER FROM EMP W, EMP M WHERE
W.MGR IN (SELECT EMPNO FROM EMP WHERE ENAME= 'JONES')
AND W.MGR=M.EMPNO
UNION
SELECT W.ENAME WORKER, M.ENAME MANAGER FROM EMP W, EMP M
WHERE W.EMPNO IN (SELECT EMPNO FROM EMP WHERE ENAME='JONES')
AND W.MGR=M.EMPNO
--------- (OR) ---------
SELECT W.ENAME WORKER, M.ENAME MANAGER FROM EMP W, EMP M WHERE
W.MGR IN ((SELECT EMPNO FROM EMP WHERE ENAME='JONES'), (SELECT MGR
FROM EMP WHERE ENAME='JONES'))AND W.MGR=M.EMPNO

149. FIND OUT THE AVERAGE SALARY AND AVERAGE TOTAL REMUNIRATION FOR
EACH JOB TYPE REMEMBER SALESMAN EARN COMMISSION:
SELECT JOB, TRUNC(AVG(SAL+NVL(COMM,0))) AVG_SAL,
TRUNC(AVG((SAL+NVL(COMM,0))*12)) AVG_ANNUAL FROM EMP GROUP BY JOB

150. CHECK WHEATHER ALL EMPLOYEE NUMBER ARE INDEED UNIQUE:


SELECT DISTINCT EMPNO FROM EMP

151. DISPLAY THE DEPARTMENT NAME WHERE THERE IS NO EMPLOYEES:


SELECT DNAME,D.DEPTNO FROM EMP E,DEPT D
WHERE E.DEPTNO(+)=D.DEPTNO AND E.ENAME IS NULL

152. LIST OUT THE LOWEST PAID EMPLOYEES WORKING FOR THE EACH MANAGER,
EXCLUDE ANY GROUPS WHERE MIN SALARY IS LESS THAN 1000 SORT THE OUTPUT
BY SALARY:
SELECT W.ENAME, W.SAL , M.ENAME, M.SAL FROM EMP W, EMP M
WHERE M.EMPNO=W.MGR AND W.SAL<M.SAL AND W.SAL>1000 AND
W.SAL IN(SELECT MIN(SAL) SAL FROM EMP GROUP BY MGR) ORDER BY W.SAL

GNANA IT SOLUTIONS, VIZAG 65


153. (A) LIST NAME, JOB, ANNUAL SALARY, DEPTNO, DEPARTMENT NAME, GRADE WHO
EARN MORE THAN 30000 PER YEAR AND WHO ARE NOT CLERK:
(B) DISPLAY THE EMPLOYEES THOSE WHO JOINED EARLIER THAN HIS MANAGER:
SELECT E.ENAME, E.SAL, E.EMPNO, E.JOB, D.DNAME, G.GRADE FROM EMP E,
DEPT D, GRADE G WHERE ((SAL+NVL (COMM, 0))*12)> 30000 AND JOB
NOT IN 'CLERK' AND E.SAL BETWEEN G.LOSAL AND G.HISAL
AND E.DEPTNO=D.DEPTNO
-------------- AND ---------------
SELECT W.ENAME, W.HIREDATE, M.ENAME MANAGER, M.HIREDATE
FROM EMP W, EMP M WHERE W.MGR=M.EMPNO AND W.HIREDATE<M.HIREDATE

154. DISPLAY THE AVERAGE SAL OF FIGURE FOR THE DEPT:


SELECT DEPTNO, TRUNC (AVG (SAL)) AVG_SAL FROM EMP GROUP BY DEPTNO

155. LIST OUT ALL THE EMPLOYEES BY NAME AND NUMBER ALONG WITH THEIR
MANAGERD NAME AND NUMBER ALSO DISPLAY 'NO MANGER' WHO HAS NO
MANAGER:
SELECT DISTINCT W.EMPNO, W.ENAME, CASE WHEN W.MGR IS NOT NULL THEN
M.ENAME WHEN W.MGR IS NULL THEN 'NO MANAGER' END MANAGER
FROM EMP W, EMP M WHERE W.MGR IS NULL OR W.MGR=M.EMPNO

156. FIND OUT THE EMPLOYEE WHO EARNED THE MIN SAL FOR THEIR IN ASCENDING
ORDER:
SELECT ENAME, JOB, SAL FROM EMP WHERE SAL IN(SELECT MIN(SAL)
FROM EMP GROUP BY JOB) ORDER BY SAL

157. FIND OUT THE MOST RECENTLY HIRED EMPLOYEES IN EACH DEPARTMENT ORDER
BY HIREDATE:
SELECT D.DNAME, E.ENAME, E.HIREDATE FROM EMP E, DEPT D
WHERE E.HIREDATE IN (SELECT MAX (HIREDATE) FROM EMP
GROUP BY DEPTNO) AND E.DEPTNO=D.DEPTNO
-------- (OR)---------
SELECT DISTINCT ENAME, HIREDATE FROM EMP WHERE HIREDATE IN (SELECT
MAX(HIREDATE) FROM EMP GROUP BY DEPTNO) ORDER BY HIREDATE

158. DISPLAY NAME, SALARY AND DEPTNO FOR EACH EMPLOYEE WHO EARN SALARY
GREATER THAN THE AVERAGE OF THE THEIR DEPARTMENT ORDER BY DEPTNO:
SELECT E.DEPTNO ,E.ENAME, E.SAL, S.AVG_SAL FROM EMP E,(SELECT DEPTNO,
TRUNC(AVG(SAL))AVG_SAL FROM EMP GROUP BY DEPTNO)S
WHERE S.DEPTNO=E.DEPTNO AND E.SAL>S.AVG_SAL

158. FIND OUT ALL DEPARTMENTS WICH HAVE MORE THAN 3 EMPLOYEES:
SELECT DEPTNO, COUNT (*) FROM EMP HAVING COUNT(*)>3 GROUP BY DEPTNO

159. IN WHICH YEAR DID MOST PEOPLE JOIN THE COMPANY. DISPLAY THE YEAR AND
NUMBER OF EMPLOYEES:
SELECT YEAR_OF_JOIN, NO_OF_EMP FROM(SELECT HIREDATE YEAR_OF_JOIN,
COUNT (*) NO_OF_EMP FROM (SELECT ENAME, TO_CHAR(HIREDATE ,'YYYY')
HIREDATE FROM EMP) GROUP BY HIREDATE ORDER BY COUNT(*) DESC) WHERE
ROWNUM=1

GNANA IT SOLUTIONS, VIZAG 66


160. DISPLAY THE DEPARTMENT NUMBER WITH HIGHEST ANNUAL REMUNIRATION
BILL AS COMPENSATION:
SELECT K.DEPTNO, K.ANSL FROM (SELECT N.*,DENSE_RANK () OVER(ORDER BY
N.ANSL DESC) DRK FROM (SELECT DEPTNO, ((SAL+NVL(COMM,0))*12) ANSL FROM
EMP) N) K WHERE DRK=1
---------- (OR) ----------
SELECT DEPTNO, ANSL, ROWNUM FROM (SELECT DEPTNO,SUM(ANSL) ANSL FROM
(SELECT DEPTNO,((SAL+NVL(COMM,0))*12)ANSL FROM EMP)GROUP BY DEPTNO
ORDER BY ANSL DESC) WHERE ROWNUM=1

161. WRITE A QUERY OF DISPLAY AGAINIST THE ROW OF THE MOST RECENT HIRED
EMPLOYEE. DISPLAY ENAME HIREDATE AND COLUMN MAX DATE SHOWING:
SELECT * FROM (SELECT ENAME, HIREDATE FROM EMP
ORDER BY HIREDATE DESC) WHERE ROWNUM=1
------- (OR) ---------
SELECT ENAME, HIREDATE FROM EMP ORDER BY HIREDATE DESC

162. DISPLAY EMPLOYEES WHO CAN EARN MORE THAN LOWEST SALARY IN
DEPARTMENT NO.30:
SELECT * FROM EMP WHERE SAL>
(SELECT MIN(SAL) FROM EMP WHERE DEPTNO=30)
-------- (OR) ----------
SELECT * FROM EMP WHERE SAL>(SELECT MIN(SAL) FROM EMP
HAVING DEPTNO=30 GROUP BY DEPTNO)

163. FIND EMPLOYEES WHO CAN EARN MORE THAN EVERY EMPLOYEE IN
DEPARTMENT NO.30:
SELECT * FROM EMP WHERE SAL>
ANY (SELECT SAL FROM EMP WHERE DEPTNO=30)

164. FIND OUT AVERAGE SALARY AVERAGE TOTAL REMAINDERS FOR EACH JOB TYPE:
SELECT J.JOB, J.M NO_OF_EMP, J.N AVG_SAL, TRUNC (J.N/J.M) REMINDER FROM
(SELECT JOB, COUNT (JOB)M, TRUNC (AVG(SAL)) N FROM EMP GROUP BY JOB)J

165. DISPLAY THE HALF OF THE ENAME IN UPPER AND HALF OF THE ENAME IN LOWER CASE:
SELECT UPPER (SUBSTR (ENAME, 1, LENGTH (ENAME)/2)) ||LOWER (SUBSTR
(ENAME, (LENGTH (ENAME)/2)+1)) FROM EMP

166. CREATE COPY OF EMP TABLE:


CREATE TABLE EMP2 TABLE AS SELECT * FROM EMP

167. DISPLAY ENAME IF ENAME EXISTS MORE THAN ONE:


SELECT ENAME FROM EMP GROUP BY ENAME HAVING COUNT (ENAME)>1

168. DISPLAY ALL ENAMES IN REVERSE ORDER:


SELECT REVERSE (ENAME) FROM EMP

169. DISPLAY THOSE EMPLOYEES WHO’S JOING OF THE MONTH AND GRADE IS EQUAL:
SELECT E.ENAME, E.HIREDATE, G.GRADE FROM EMP E,GRADE G WHERE E.SAL
BETWEEN G.LOSAL AND G.HISAL AND TO_CHAR(HIREDATE,'MM')=GRADE

GNANA IT SOLUTIONS, VIZAG 67


170. DISPLAY THOSE EMPLOYEES NAME AS FOLLOWS A ALLEN, B BLAKE:
SELECT SUBSTR(ENAME, 1,1)||'_'||ENAME FROM EMP

171. DISPLAY THOSE EMPLOYEE WHOS JOING DATE IS AVAILABLE IN DEPARTMENT NUMBER:
SELECT * FROM (SELECT ENAME,TO_CHAR(HIREDATE,'DD') J_DATE, DEPTNO
FROM EMP2) WHERE J_DATE IN DEPTNO

172. PRINT PINEAPPLE AS EACH LETTER IN SEPARATE ROW:


SELECT SUBSTR('PINEAPPLE',LEVEL,1) PINEAPPLE FROM DUAL
CONNECT BY LEVEL <= LENGTH('PINEAPPLE');

173. LIST OUT THE EMPLOYEE NAME, SALARY AND PF FROM EMP:
SELECT ENAME, SAL, SAL*12/100 PF FROM EMP

174. CREATE TABLE WITH ONLY COLUMMN EMPNO:


CREATE TABLE EMPNO AS SELECT EMPNO FROM EMP

175. ADD THIS COLUMN TO EMP TABLE ENAME VARCHAR2 (20):


ALTER TABLE EMP ADD ENAME VARCHAR2(20)

176. OOPS.! GIVE THE PRIMARY KEY CONSTRAINT ADD IT NOW:


ALTER TABLE EMP ADD CONSTRAINT PK_EMPNO PRIMARY KEY (EMPNO)

177. NOW INCREASE THE LENGTH OF ENAME, COLUMN TO 30 CHARACTER:


ALTER TABLE EMP MODIFY ENAME VARCHAR2 (30)

178. ADD SALARY COLUMN TO EMP TABLE:


ALTER TABLE EMP ADD SALARY NUMBER

179. I WANT TO GIVE A VALIDATION SAYING THAT SALARY CONNOT BE GREATER THAN 10,000,
(NOTE GIVE NAME TO THIS COLUMN):
ALTER TABLE EMP ADD CONSTRAINT CK_SAL CHECK (SAL<10000)

180. FOR THE TIME BEING I HAVE DECIDED THAT I WILL NOT IMPOSE THIS VALIDATION. MY
BOSS HAS AGREED TO PAY MORE THAN 10000:
ALTER TABLE EMP DROP CONSTRAINT CK_SAL

182. MY BOSS HAS CHANGED HIS MIND. NOW HE DOES'T WANT TO PAY MORE THAN
10000 SALARY. SO REVOKE THAT SALARY CONSTRAINT:
ALTER TABLE EMP ADD CONSTRAINT CK_SAL CHECK(SAL<10000)

183. CREATE TABLE CALLED NEW_EMP.


CREATE TABLE NEW_EMP AS SELECT * FROM EMP

184. OH! THIS COLUMN SHOULD BE RELATED TO EMPNO. GIVE A COMMAND TO ADD
THIS CONSTRAINT ADD DEPTNO COLUMN TO EMP TABLE THIS DEPTNO NO
COLUMN SHOULD BE RELATED TO DEPT TABLE:
“ALTER TABLE DEPT ADD CONSTRAINT UK_DEPTNO UNIQUE (DEPTNO)”
“ALTER TABLE EMP ADD CONSTRAINT FK_DEPTNO FOREIGN KEY(DEPTNO)
REFERENCES DEPT(DEPTNO)”

GNANA IT SOLUTIONS, VIZAG 68


185. PROVIDE A COMMISSION TO EMPLOYEES WHO ARE NOT EARNING COMMISION:
UPDATE EMP SET COMM=1000 WHERE COMM IS NULL OR COMM=0

186. CREATE TABLE CALLED AS NEW_EMP. THIS TABLE SHOULD CONTAIN EMPNO,
ENAME and DNAME ONLY:
CREATE TABLE NEW_EMP AS SELECT ENAME, EMPNO, DNAME FROM EMP E,
DEPT D WHERE E.DEPTNO=D.DEPTNO

187. DELETE THE ROWS OF EMPLOYEES WHO ARE WORKING IN THE COMPANY FOR
MORE THAN TWO YEARS:
DELETE FROM EMP WHERE HIREDATE IN (SELECT HIREDATE FROM EMP WHERE
(SYSDATE-HIREDATE)/365>39)

188. IF ANY EMPLOYEE HAS COMMISION, HIS COMMISION SHOULD BE INCREAMENTED


BY 10% OF HIS SALARY:
UPDATE EMP SET COMM=COMM + (SAL*10/100)
WHERE COMM IS NOT NULL OR COMM NOT IN (0)

189. DISPLAY EMPLOYEE NUMBER, NAME AND LOCATION OF THE DEPARTMENT IN


WHICH HE IS WORKING:
SELECT EMPNO,ENAME, DNAME, LOC FROM EMP E,DEPT D WHERE
E.DEPTNO=D.DEPTNO

190. DISPLAY NAME, DEPARTMENT NAME, EVEN IF THERE IS NO EMPLOYEES WORKING


IN A PARTICULAR DEPARTMENT (USE OUTER JOIN);
SELECT E.EMPNO, D.DEPTNO, D.DNAME FROM EMP E, DEPT D
WHERE E.DEPTNO (+) = D.DEPTNO

191. DISPLAY EMPLOYEE NAME AND DEPARTMENT NAME FOR EACH EAMPLOYEE:
SELECT ENAME, DNAME FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO

192. DISPLAY EMPLOYEE NAME AND HIS MANAGER NAME:


SELECT E.ENAME, M.ENAME FROM EMP E, EMP M WHERE E.MGR=M.EMPNO

193. DISPLAY DEPARTMENT NUMBER ALONG WITH TOTAL SALARY IN EACH DEPARTMENT:
SELECT DEPTNO, SUM(TOTAL_SAL) TOTAL_SAL FROM (SELECT DEPTNO, SAL+
NVL(COMM,0)TOTAL_SAL FROM EMP) GROUP BY DEPTNO
---------- (OR) ----------
SELECT DEPTNO, SUM (SAL+NVL(COMM,0)) TOTAL_SAL FROM EMP GROUP BY DEPTNO

194. DISPLAY THE CURRENT DATE AND TIME:


SELECT SYSDATE FROM DUAL

195. DISPLAY THE DEPARTMENT NUMBER AND TOTAL NUMBER OF EMPLOYEES IN


EACH DEPARTMENT:
SELECT DEPTNO, COUNT (*) FROM EMP GROUP BY DEPTNO

196. WE WANT TO DELETE DUPLICATE VALUES THEN:


DELETE FROM EMP2 WHERE ROWID NOT IN(SELECT MIN(ROWID)
FROM EMP2 GROUP BY EMPNO)

GNANA IT SOLUTIONS, VIZAG 69


197. WHEN WANT TO TOTAL SAL STEP BY STEP AND ORDERWISE THEN:
SELECT DEPTNO, ENAME, JOB, SUM (SAL) OVER (ORDER BY EMPNO) SUM_SAL
FROM EMP

198. WE WANT ALL SATUR_DAYS AND SUNDAYS IN A YEAR:


SELECT (NEXT_DAY (TRUNC(SYSDATE,'YYYY'), 'SAT')-7)+ LEVEL*7
SATUR_DAYS_OF_2020,(NEXT_DAY(TRUNC(SYSDATE, 'YYYY'),'SUN') -7)+ LEVEL*7
SUN_DAYS_OF_2020 FROM DUAL CONNECT BY LEVEL<53

200. DISPLAY MOST OF THE JOININGS IN WHICH YEAR


SELECT * FROM (SELECT TO_CHAR (HIREDATE, 'YYYY')JOIN_YEAR, COUNT(*)
NO_EMP FROM EMP GROUP BY TO_CHAR (HIREDATE,'YYYY') ORDER BY
COUNT (*) DESC) WHERE ROWNUM=1

GNANA IT SOLUTIONS, VIZAG 70

You might also like