SQL Practice
SQL Practice
com
);
insert into emp
values(
7934, 'MILLER', 'CLERK', 7782,
to_date('23-1-1982','dd-mm-yyyy'),
1300, null, 10
);
Exercises
emp
6) Display the employee name and annual salary for all employees.
7) Display the names of all the employees who are working in depart number 10.
8) Display the names of all the employees who are working as clerks and
www.eltestpro.com: 9886991978
9) Display the employee number and name who are earning comm.
10) Display the employee number and name who do not earn any comm.
ETL TEST PRO : 9886991978 , www.etltestpro.com
3.000;
12) Display the names of the employees who are working in the company for
13) Display the list of employees who have joined the company before
www.eltestpro.com: 9886991978
a)select ename from emp where hiredate < '30-JUN-1990' or hiredate >
'31-DEC-90';
15) Display the list of all users in your database(use catalog table).
SQL>show user
or employees working as
SQL>select ename from emp where deptno in (10, 20, 40) or job
in ('CLERKS','SALESMAN','ANALYST');
19) Display the names of employees whose name starts with alphabet S.
20) Display the Employee names for employees whose name ends with alphabet S.
ETL TEST PRO : 9886991978 , www.etltestpro.com
21) Display the names of employees whose names have second alphabet A in
their names.
22) select the names of the employee whose names is exactly five characters
in length.
23) Display the names of the employee who ar e not working as MANAGERS.
24) Display the names of the employee who are not work ing as SALESMAN OR
CLERK OR ANALYST.
In ('SALESMAN','CLERK','ANALYST');
25) Display all rows from EMP table. The system should wait after every
SQL>set pause on
32) Display the maximum salary being paid to depart number 20.
35) Display the total salary drawn by ANALYST working in depart number 40.
36) Display the names of the employee in order of salary i.e the name of
www.eltestpro.com: 9886991978
39) Display empno,ename,deptno,sal sort the output first base on name and
40) Display the name of the employee along with their annual salary(sal*12).The name of the employee
earning highest annual salary should apper first.
output should be in the order of total salary,hra 15% of salary,da 10% of salary,pf 5%
42) Display depart numbers and total number of employees working in each
department.
43) Display the various jobs and total number of employees within each job
group.
44) Display the depart numbers and total salary for each department.
45) Display the depart numbers and max salary for each department.
46) Display the various jobs and total salary for each job
48) Display the depart numbers with more than three employees in each dept.
count(*)>3;
49) Display the various jobs along with total salary for each of the jobs
ETL TEST PRO : 9886991978 , www.etltestpro.com
50) Display the various jobs along with total number of employees in each
job.The output should contain only those jobs with more than three employees.
51) Display the name of the empployee who earns highest salary.
52) Display the employee number and name for employee working as clerk and
53) Display the names of salesman who earns a salary more than the highest
where job='CLERK');
ETL TEST PRO : 9886991978 , www.etltestpro.com
54) Display the names of clerks who earn a salary more than the lowest
from emp
where job='SALESMAN');
Display the names of employees who earn a salary more than that of
(select sal from emp where ename='JONES')and sal> (select sal from emp
where ename='SCOTT');
www.eltestpro.com: 9886991978
55) Display the names of the employees who earn highest salary in their
respective departments.
56) Display the names of the employees who earn highest salaries in their
SQL>select ename,sal,job from emp where sal in(select max(sal) from emp
group by job)
57) Display the employee names who are working in accounting department.
SQL>select ename from emp where deptno=(select deptno from dept where
dname='ACCOUNTING')
SQL>select ename from emp where deptno=(select deptno from dept where
LOC='CHICAGO')
59) Display the Job groups having total salary greater than the maximum
60) Display the names of employees from department number 10 with salary
SQL>select ename from emp where deptno=10 and sal>any(select sal from
61) Display the names of the employees from department number 10 with
SQL>select ename from emp where deptno=10 and sal>all(select sal from
characters from the following string 'Oracle'. i.e the out put should be 'ac'.
69) Find the First occurance of character 'a' from the following string i.e
translate function)
71) Display the informaction from emp table.Where job manager is found it
SQL>select
empno,ename,decode(deptno,10,'ACCOUNTING',20,'RESEARCH',30,'SALES',40,'OPRATIONS') from
emp;
75) Display the current date as 15th Augest Friday Nineteen Ninety Saven.
76) Display the following output for each row from emp table.
scott has joined the company on wednesday 13th August ninten nintey.
77) Find the date for nearest saturday after current date.
79) Display the date three months Before the current date.
80) Display the common jobs from department number 10 and 20.
SQL>select job from emp where deptno=10 and job in(select job from emp
where deptno=20);
www.eltestpro.com: 9886991978
81) Display the jobs found in department 10 and 20 Eliminate duplicate jobs.
(or)
83) Display the details of those who do not have any person working under them.
84) Display the details of those employees who are in sales department and
grade is 3.
85) Display those who are not managers and who are managers any one.
www.eltestpro.com: 9886991978
86) Display those employee whose name contains not less than 4 characters.
87) Display those department whose name start with "S" while the location
SQL>select dname from dept where dname like 'S%' and loc like '%K';
e.ename='JONES';
89) Display those employees whose salary is more than 3000 after giving 20%
increment.
www.eltestpro.com: 9886991978
SQL>select ename from emp where deptno=(select deptno from dept where
ETL TEST PRO : 9886991978 , www.etltestpro.com
dname='SALES');
92) Display employee name,deptname,salary and comm for those sal in between
and 5000
93) Display those employees whose salary greter than his manager salary.
94) Display those employees who are working in the same dept where his
manager is work.
www.eltestpro.com: 9886991978
p.deptno=e.deptno;
95) Display those employees who are not working under any manager.
96) Display grade and employees name for the dept no 10 or 30 but grade is
ETL TEST PRO : 9886991978 , www.etltestpro.com
SQL>select ename, grade from EMP, salgrade where Sal between losal and
97) Update the salary of each employee by 10% increments that are not
98) SELECT that employee who joined the company before 31-dec-82 while
SQL> SELECT EMPNO, ENAME, HIREDATE, DNAME, LOC FROM EMP, DEPT
www.eltestpro.com: 9886991978
99) DISPLAY EMPLOYEE NAME, JOB, DEPARTMENT, LOCATION FOR ALL WHO ARE WORKING
AS MANAGER?
SQL>select ename, JOB, DNAME, LOCATION from EMP, DEPT where mgr is not
Null;
ETL TEST PRO : 9886991978 , www.etltestpro.com
E.ENAME='JONES';
101) Display name and salary of ford if his salary is equal to hisal of his
Grade
a) Select ename, sal, grade from EMP, salgrade where sal between losal and
hisal
102) Display employee name, job, depart name, manager name, his grade and make
E, SALGRADE, DEPT
103) List out all employees name,job,salary,grade and depart name for every
one in the company except 'CLERK'.Sort on salary display the highest salary?
104) Display the employee name,job and his manager.Display also employee who
emp.empno(+)=e.mgr
www.eltestpro.com: 9886991978
FROM
106) Display name of those employee who are getting the highest salary?
ETL TEST PRO : 9886991978 , www.etltestpro.com
107) Display those employee whose salary is equal to average of maximum and
minimum?
emp);
108) Select count of employee in each department where count greater than 3?
109) Display dname where at least 3 are working and display only department
name?
and 3>any
110) Display name of those managers name whose salary is more than average
111)Display those managers name whose salary is more than average salary of
his employee?
EMP.EMPNO=E.MGR;
112) Display employee name,sal,comm and net pay for those employee
whose net pay is greter than or equal to any other employee salary of
the company?
113) Display all employees names with total sal of company with each
employee name?
A.SAL<=E.SAL)
115) Find out the number of employees whose salary is greater than their
manager salary?
AND EMP.SAL<E.SAL;
119) Display those employee who joined in the company in the month of Dec?
ETL TEST PRO : 9886991978 , www.etltestpro.com
or
122) Display those employee whose first 2 characters from hiredate -last 2
characters of salary?
123) Display those employee whose 10% of salary is equal to the year of
joining?
SQL>SELECT ENAME FROM EMP WHERE DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE
ETL TEST PRO : 9886991978 , www.etltestpro.com
DNAME IN('SALES','RESEARCH'));
126) Display those employees who joined the company before 15 of the month?
127) Display those employee who has joined before 15th of the month.
is less than 3.
WHERE E.MGR=M.EMPNO
131) Display those employees whose grade is equal to any number of sal but
132) Print the details of all the employees who are Sub-ordinate to BLAKE?
e.ename='BLAKE';
133) Display employee name and his salary whose salary is greater than
GROUP BY DEPTNO);
ETL TEST PRO : 9886991978 , www.etltestpro.com
MINUS
135) Display the half of the ename's in upper case and remaining lowercase?
SQL>SELECT
SUBSTR(LOWER(ENAME),1,3)||SUBSTR(UPPER(ENAME),3,LENGTH(ENAME))
FROM EMP;
136) Display the 10th record of emp table without using group by and rowid?
MINUS
SQL>DELETE FROM EMP WHERE EMPNO=(SELECT EMPNO FROM EMP WHERE ROWNUM<11
MINUS
140) Display those employee whose joining of month and grade is equal.
GRADE=TO_CHAR(HIREDATE,'MM')) AND
GRADE=TO_CHAR(HIREDATE,'MM'));
A ALLEN
B BLAKE
146) Oops I forgot give the primary key constraint. Add in now.
149) I want to give a validation saying that salary cannot be greater 10,000
150) For the time being I have decided that I will not impose this validation.My boss has agreed to pay
more than 10,000.
SQL>again alter the table or drop constraint with alter table emp drop constraint chk_001 (or)Disable the
constraint by using alter table emp modify constraint chk_001 disable;
151) My boss has changed his mind. Now he doesn't want to pay more than
www.eltestpro.com: 9886991978
153) Oh! This column should be related to empno. Give a command to add this
ETL TEST PRO : 9886991978 , www.etltestpro.com
constraint.
EMP(EMPNO)
155) This deptno column should be related to deptno column of dept table;
reference dept(deptno)
<constraint type>
157) Create table called as newemp. Using single command create this table
empno,ename,dname.
1=2;
158) Delete the rows of employees who are working in the company for more
than 2 years.
159) Provide a commission(10% Comm Of Sal) to employees who are not earning
any commission.
161) Display employee name and department name for each employee.
is working.
emp.deptno=dept.deptno;
165) Display the department name and total number of employees in each
www.eltestpro.com: 9886991978
department.
166)Display the department name along with total salary in each department.
group by dname;
ETL TEST PRO : 9886991978 , www.etltestpro.com
167) Display itemname and total sales amount for each item.
168) Write a Query To Delete The Repeted Rows from emp table;
SQL>Delete from emp where rowid not in(select min(rowid)from emp group
by ename)
minus
SQL>SELECT * FROM
MINUS