SQL Quries 2a
SQL Quries 2a
Q:8) Display each job along with min of salary being paid in each Q:24) Display the names of employees in Upper Case?
job group? Ans: select upper(ename) from emp;
Q:9) Display the department Number with more than three Q:25) Display the names of employees in Lower Case?
employees in each department? Ans: select Lower(ename) from emp;
Ans: select deptno ,count(*) from emp group by deptno having
count(*)>3; Q:26) Display the names of employees in Proper case?
Ans: select InitCap(ename)from emp;
Q:10) Display various jobs along with total salary for each of the
job Q:27) Find the length of your name using Appropriate Function?
where total salary is greater than 40000? Ans: select lentgh('SRINIVASARAO') from dual;
Ans: select job,sum(sal) from emp group by job having
sum(sal)>40000; Q:28) Display the length of all the employee names?
Ans: select length(ename) from emp;
Q:11) Display the various jobs along with total number of
employees in each job.The output should contain only those jobs Q:29) Display the name of employee Concatinate with Employee
with more than three employees? Number?
Ans: select job,count(*) from emp group by job having Ans: select ename||' '||empno from emp;
count(*)>3;
Q:30) Use appropriate function and extract 3 characters starting
Q:12) Display the name of employee who earn Highest Salary? from 2 characters from the following string 'Oracle' i.e., the out
Ans: select ename, sal from emp where sal>=(select max(sal) put should be ac?
from emp ); Ans: select substr('Oracle',3,2) from dual;
Q:13) Display the employee Number and name for employee Q:31) Find the first occurance of character a from the following
working as clerk and earning highest salary among the clerks? string Computer Maintenance Corporation?
Ans: select ename,empno from emp where sal=(select max(sal) Ans: select lstr('Computer Maintenance Corporation','a' ) from
from emp where dual;
job='CLERK') and job='CLERK' ;
Q:32) Replace every occurance of alphabet A with B in the string
Q:14) Display the names of salesman who earns a salary more .Alliens (Use Translate function)?
than the Highest Salary of the Clerk? Ans: select translate('Alliens','A','B') from Dual;
Ans: select ename,sal from emp where sal>(select max(sal)
from emp Q:33) Display the information from the employee table . where
where job='CLERK') AND job='SALESMAN'; ever job Manager is found it should be displayed as Boss?
Ans: select ename ,replace(job,'MANAGER','BOSS') from emp;
Q:15) Display the names of clerks who earn a salary more than
the lowest Salary of any Salesman? Q:34) Display empno,ename,deptno from emp table. Instead of
Ans: select ename,sal from emp where sal>(select min(sal) from display department numbers display the related department
emp where job='SALESMAN') and job='CLERK'; name(Use decode function)?
Ans: select
Q:16) Display the names of employees who earn a salary more empno,ename,deptno,Decode(deptno,10,'ACCOUNTING'
than that of jones or that of salary greater than that of scott? ,20,'RESEARCH',30,'SALES','OPERATIONS')DName from
Ans: select ename,sal from emp where sal>all(select sal from emp;
emp where
ename='JONES' OR ename='SCOTT'); Q:35) Display your Age in Days?
Ans: select sysdate-to_date('30-jul-1977') from dual;
Q:17) Display the names of employees who earn Highest salary Q:36) Display your Age in Months?
in their respective departments? Ans: select months_between(sysdate,to_date('30-jul-1977'))
Ans: select ename,sal,deptno from emp where sal in (select from dual;
max(sal) from emp group by deptno);
Q:37) Display current date as 15th August Friday Nineteen Nienty Ans: select e.ename,e.deptno,e1.ename,e1.deptno from emp
Seven? e,e1 where e.mgr=e1.empno and e.deptno=e1.deptno;
Ans: select To_char(sysdate,'ddth Month Day year') from dual;
Q:59) Display those employees who are not working under any
Q:38) Display the following output for each row from emp table? Manager?
Ans: Q:39 Ans: select ename from emp where mgr is null;
Q:39) Scott has joined the company on 13th August ninteen Q:60) Display the grade and employees name for the deptno 10
ninety? or 30 but grade is not 4 while joined the company before 31-DEC-
Ans: select empno,ename,to_char(Hiredate,'Day ddth Month 82?
year') from emp; Ans: select ename,grade,deptno,sal from emp ,salgrade where (
grade,sal) in
Q:40) Find the nearest Saturday after Current date? ( select grade,sal from salgrade,emp where sal between
Ans: select next_day(sysdate,'Saturday') from dual; losal and hisal)
and grade!=4 and deptno in (10,30) and hiredate<'31-Dec-
Q:41) Display the current time? 82';
Ans: select To_Char(sysdate,'HH:MI:SS') from dual;
Q:61) Update the salary of each employee by 10% increment
Q:42) Display the date three months before the Current date? who are not eligible for commission?
Ans: select Add_months(sysdate,-3) from dual; Ans: update emp set sal= (sal+(sal*0.10)) where comm is null;
Q:62) Delete those employees who joined the company before
Q:43) Display the common jobs from department number 10 and 31-Dec-82 while their department Location is New York or
20? Chicago?
Ans: select job from emp where job in (select job from emp Ans: select e.ename,e.hiredate,d.loc from emp e,dept d where
where deptno=20) and deptno=10; e.deptno=d.deptno and hiredate<'31-Dec-82' and d.loc
in('NEW YORK','CHICAGO');
Q:44) Display the jobs found in department 10 and 20 Eliminate
duplicate jobs? Q:63) Display employee name ,job,deptname,loc for all who are
Ans: select Distinct job from emp where deptno in(10,20); working as manager?
Ans: select e.ename,e.job,d.dname,d.loc from emp e,dept d
Q:45) Display the jobs which are unique to department 10? where e.deptno=d.deptno
Ans: select job from emp where deptno=10; and e.empno in (select mgr from emp where mgr is not
null);
Q:46) Display the details of those employees who do not have
any person working under him? Q:64) Display those employees whose manager name is jones
Ans: select empno,ename,job from emp where empno not in and also display their manager name?
(select mgr from emp where mgr is not null ); Ans: select e.ename sub,e1.ename from emp e,e1 where
e.mgr=e1.empno and e1.ename='JONES';
Q:47)Display the details of those employees who are in sales
department and grade is 3? Q:65) Display name and salary of ford if his salary is equal to
Ans: select e.ename,d.dname,grade from emp e,dept d hisal of his grade?
,salgrade where e.deptno=d.deptno and dname='SALES' Ans: select ename,grade,hisal,sal from emp,salgrade where
and grade=3; ename='FORD' and sal=hisal;
OR
Q:48) Display those who are not managers? select grade,sal,hisal from emp,salgrade where
Ans: select ename from emp where job!='MANAGER'; ename='FORD' and sal between losal and hisal;
OR
Q:49) Display those employees whose name contains not less select ename,sal,hisal,grade from emp,salgrade where
than 4 characters? ename='FORD'
Ans: select ename from emp where length(ename)>=4; and (grade,sal) in (select grade,hisal from salgrade,emp
Q:50) Display those department whose name start with"S" while where
location name ends with "K"? sal between losal and hisal);
Ans: select e.ename,d.loc from emp e ,dept d where d.loc
like('%K') and ename like('S%'); Q66) Display employee name ,job,deptname,his manager name
,his grade and make an under department wise?
Q:51) Display those employees whose manager name is Jones? Ans: select e.ename sub,e1.ename sup,e.job,d.dname ,grade
Ans: select e.ename Superior,e1.ename Subordinate from emp from emp e,e1,salgrade,dept d where
e,e1 where e.empno=e1.mgr and e.ename='JONES'; e.mgr=e1.empno and e.sal between losal and hisal
and e.deptno=d.deptno group by
Q:52) Display those employees whose salary is more than 3000 d.deptno,e.ename,e1.ename,e.job,d.dname,grade;
after giving 20% increment? OR
Ans: select ename,sal,(sal+(sal*0.20)) from emp where select e.ename sub,e1.ename sup,e.job,d.dname ,grade
(sal+(sal*0.20))>3000; from emp e,e1,salgrade,tvsdept d where
e.mgr=e1.empno and e.sal between losal and hisal
Q:53) Display all employees with their department names? and e.deptno=d.deptno;
Ans: select e.ename,d.dname from emp e, dept d where
e.deptno=d.deptno; Q:67) List out all the employee names ,job,salary,grade and
deptname for every one in a company except 'CLERK' . Sort on
Q:54) Display ename who are working in sales department? salary display the highest salary?
Ans: select e.ename,d.dname from emp e,dept d where Ans: select e.ename ,e.job,e.sal,d.dname ,grade from emp
e.deptno=d.deptno and d.dname='SALES'; e,salgrade,dept d where (e.deptno=d.deptno and e.sal
between losal and hisal ) order by e.sal desc;
Q:56) Display employee name,dept name,salary,and commission
for those sal in between 2000 to 5000 while location is Chicago? Q:68) Display employee name,job abd his manager .Display also
Ans: Select e.ename,d.dname,e.sal,e.comm from emp e,dept d employees who are with out managers?
where e.deptno=d.deptno and sal between 2000 and 5000; Ans: select e.ename ,e1.ename,e.job,e.sal,d.dname from emp
e,e1,dept d where e.mgr=e1.empno(+) and
Q:57) Display those employees whose salary is greater than his e.deptno=d.deptno;
managers salary? Q:69) Display Top 5 employee of a Company?
Ans: Select e.ename,e.sal,e1.ename,e1.sal from emp e,e1 Ans:
where e.mgr=e1.empno and e.sal>e1.sal;
Q:70) Display the names of those employees who are getting the
Q:58) Display those employees who are working in the same highest salary?
dept where his manager is work? Ans: select ename,sal from emp where sal in (select max(sal)
from emp);
Q:71) Display those employees whose salary is equal to from emp where to_char(sysdate,'yyyy') -
average of maximum and minimum? to_char(hiredate,'yyyy')=30;
Ans: select * from emp
where sal=(select (max(sal)+min(sal))/2 from emp); Q:87) Display those employees whose salary is odd value?
Ans: select ename ,sal from emp where mod(sal,2)!=0;
Q:72) Select count of employees in each department where
count >3? Q:88) Display those employees whose salary contains atleast 3
Ans: select count(*) from emp group by deptno having digits?
count(*)>3 Ans: select ename,sal from emp where length(sal)=3;
Q:73) Display dname where atleast three are working and Q:89) Display those employees who joined in the company in the
display only deptname? month of Dec?
Ans: select d.dname from dept d, emp e where Ans: Select empno,ename from emp where
e.deptno=d.deptno group by d.dname having count(*)>3; trim(to_char(hiredate,'Mon'))=trim('DEC');
Q:74) Display name of those managers name whose salary is Q:90) Display those employees whose name contains A?
more than average salary of Company? Ans: select ename from emp where ename like('%A%');
Ans: select distinct e1.ename,e1.sal from emp e,e1,dept d
where e.deptno=d.deptno and e.mgr=e1.empno and Q:91) Display those employees whose deptno is available in
e1.sal> (select avg(sal) from emp); salary?
Ans: select ename,sal from emp where deptno in (select
Q:75) Display those managers name whose salary is more than distinct sal from emp);
average salary salary of his employees?
Ans: select distinct e1.ename,e1.sal from emp e,e1,dept d Q:92) Display those employees whose first 2 characters from
where e.deptno=d.deptno and e.mgr=e1.empno and hiredate - last 2 characters sal?
e1.sal>any (select avg(sal) from emp group by deptno); Ans: select empno,hiredate,sal from emp where
trim(substr(hiredate,1,2))=trim(substr(sal,-2,2));
Q:76) Display employee name,sal,comm and netpay for those or
employees whose netpay is greater than or equal to any other select hiredate,sal from emp where
employee salary of the company? to_Char(hiredate,'dd')=trim(substr(sal,-2,2));
Ans: select ename,sal,NVL(comm,0),sal+NVL(comm,0) from
emp where Q:93) Display those employeess whose 10% of salary is equal to
sal+NVL(comm,0) >any (select e.sal from emp e ); the year joining?
Ans: select ename ,sal,0.10*sal from emp where
Q:77) Display those employees whose salary is less than his 0.10*sal=trim(to_char(hiredate,'yy'));
manager but more than salary of other managers?
Ans: select e.ename sub,e.sal from emp e,e1,dept d where Q:94) Display those employees who are working in sales or
e.deptno=d.deptno and e.mgr=e1.empno research?
and e.sal<e1.sal Ans: select e.ename from emp e ,dept d where
and e.sal >any (select e2.sal from emp e2, e,dept d1 e.deptno=d.deptno and d.dname
where in('SALES','RESEARCH');
e.mgr=e2.empno and d1.deptno=e.deptno);
Q:95) Display the grade of jones?
Q:78) Display all employees names with total sal of company Ans: select ename,grade from emp,salgrade where ( grade,sal)
with each employee name? =
Ans: (select grade,sal from salgrade,emp where sal between
Q:79) Find the last 5(least) employees of company? losal and hisal and ename='JONES');
Ans:
Q:80) Find out the number of employees whose salary is greater Q:96) Display those employees who joined the company before
than their managers salary? 15th of the month?
Ans: select e.ename,e.sal,e1.ename,e1.sal from emp Ans: select ename ,hiredate from emp where hiredate<'15-Jul-
e,e1,dept d where 02' and hiredate >='01-jul-02';
e.deptno=d.deptno and e.mgr=e1.empno and e.sal>e1.sal;
Q:97) Display those employees who has joined before 15th of the
Q:81) Display the manager who are not working under president month?
but they are working under any other manager? Ans: select ename ,hiredate from emp where hiredate<'15-Jul-
Ans: select e2.ename from emp e1,emp e2,emp e3 where 02'
e1.mgr=e2.empno and
e2.mgr=e3.empno and e3.job!='PRESIDENT'; Q:98) Delete those records where no of employees in particular
department is less than 3?
Q:82) Delete those department where no employee working? Ans: delete from emp where deptno in (select deptno from emp
Ans: delete from emp where empno is null; group by deptno having count(*) <3 ;
Q:83) Delete those records from emp table whose deptno not Q:99A) Delete those employeewho joined the company 10 years
available in dept table? back from today?
Ans: delete from emp e where e.deptno not in (select deptno Ans: delete from emp where empno in (select empno from
from dept); emp
where to_char(sysdate,'yyyy')-
Q:84) Display those enames whose salary is out of grade to_char(hiredate,'yyyy')>=10);
available in salgrade table?
Ans: select empno,sal from emp where sal<(select Q:99B) Display the deptname the number of characters of which
min(LOSAL) from salgrade ) is equal to no of employee in any other department?
OR sal>(select max(hisal) from salgrade); Ans:
Q:100) Display the deptname where no employee is working?
Q:85) Display employee name,sal,comm and whose netpay is Ans: select deptno from emp where empno is null;
greater than any other in the company?
Ans: select ename,sal,comm,sal+comm from emp where Q:101) Display those employees who are working as manager?
sal+comm>any Ans: select e2.ename from emp e1,e2 where
(select sal+comm from emp ); e1.mgr=e2.empno and e2.empno is not null;
Q:102) Count th number of employees who are working as
Q:86) Display name of those employees who are going to retire managers (Using set opetrator)?
31-Dec-99 if maximum job period is 30 years? Ans: select d.dname from dept d where length(d.dname) in
Ans: select empno, hiredate,sysdate, to_char(sysdate,'yyyy') - (select count(*) from emp e where
to_char(hiredate,'yyyy') e.deptno!=d.deptno group by e.deptno);
Q:103) Display the name of the dept those employees who LAST_DAY(
joined the company on the same date? next_day(add_months(hiredate,1),'Friday'))
Ans: select a.ename,b.ename from emp a,emp b where end
a.hiredate=b.hiredate and a.empno!=b.empno; )
from emp;
Q:104) Display those employees whose grade is equal to any
number of sal but not equal to first number of sal? Q:115) Display those managers who are getting less than his
Ans: select ename,sal,grade ,substr(sal,grade,1) from employees salary?
emp,salgrade where Ans: select a.empno,a.ename ,a.sal,b.sal,b.empno,b.ename
grade!=substr(sal,1,1) and grade = substr(sal,grade,1) from emp a, emp b where a.mgr=b.empno and
and sal between losal and hisal; a.sal>b.sal;
Q:105) Count the no of employees working as manager using Q:116) Print the details of employees who are subordinates to
set operation? BLAKE?
Ans: Select count(empno) from emp where Ans: select a.empno,a.ename ,b.ename from emp a, emp b
empno in (select a.empno from emp a where a.mgr=b.empno
intersect and b.ename='BLAKE';
select b.mgr from emp b);
Q:113) Given a string of the format 'nn/nn' . Verify that the first
and last 2 characters are numbers .And that the middle character
is '/' Print the expressions 'Yes' IF valid 'NO' of not valid . Use the
following values to test your solution'12/54',01/1a,'99/98'?
Ans: