SQL Queries Questions and Answers
SQL Queries Questions and Answers
DEPARTMENT OF ICT
Department_ID
10
20
30
40
DEPARTMENT
Name
ACCOUNTING
RESEARCH
SALES
OPERATIONS
Location_ID
122
124
123
167
JOB
Job_ID
667
668
669
670
671
672
EMPL
OYEE
_ID
LAST_N
AME
7369
7499
7505
7506
SMITH
ALLEN
DOYLE
DENNIS
7507
BAKER
7521
WARK
Function
CLERK
STAFF
ANALYST
SALESPERSON
MANAGER
PRESIDENT
FIRST
_NAM
E
JOHN
KEVIN
JEAN
LYNN
LESLI
E
CYNT
HIA
MID
DLE
_NA
ME
Q
J
K
S
EMPLOYEE
JOB_I
D
MANA
GER_I
D
HIREDATE
SALAR
Y
COMM
DEPA
RTME
NT_ID
667
670
671
671
7902
7698
7839
7839
17-DEC-84
20-FEB-85
04-APR-85
15-MAY-85
800
1600
2850
2750
NULL
300
NULL
NULL
20
30
30
30
671
7839
10-JUN-85
2200
NULL
40
670
7698
22-FEB-85
1250
500
30
Page 1
DEPARTMENT OF ICT
Simple Queries:
1.
2.
3.
4.
5.
6.
Where Conditions:
8. List the details about SMITH
9. List out the employees who are working in department 20
10. List out the employees who are earning salary between 3000 and 4500
11. List out the employees who are working in department 10 or 20
12. Find out the employees who are not working in department 10 or 30
13. List out the employees whose name starts with S
14. List out the employees whose name start with S and end with H
15. List out the employees whose name length is 4 and start with S
16. List out the employees who are working in department 10 and draw the salaries more than
3500
17. list out the employees who are not receiving commission.
Order By Clause:
18. List out the employee id, last name in ascending order based on the employee id.
19. List out the employee id, name in descending order based on salary column
20. list out the employee details according to their last_name in ascending order and salaries in
descending order
21. list out the employee details according to their last_name in ascending order and then on
department_id in descending order.
Group By & Having Clause:
22. How many employees who are working in different departments wise in the organization
23. List out the department wise maximum salary, minimum salary, average salary of the
employees
24. List out the job wise maximum salary, minimum salary, average salaries of the employees.
25. List out the no.of employees joined in every month in ascending order.
26. List out the no.of employees for each month and year, in the ascending order based on the
year, month.
27. List out the department id having atleast four employees.
28. How many employees in January month.
29. How many employees who are joined in January or September month.
30. How many employees who are joined in 1985.
31. How many employees joined each month in 1985.
32. How many employees who are joined in March 1985.
33. Which is the department id, having greater than or equal to 3 employees joined in April
1985.
Sub-Queries
Page 2
DEPARTMENT OF ICT
Joins
Simple join
48.List our employees with their department names
49.Display employees with their designations (jobs)
50.Display the employees with their department name and regional groups.
51.How many employees who are working in different departments and display with
department name.
52.How many employees who are working in sales department.
53.Which is the department having greater than or equal to 5 employees and display the
department names in ascending order.
54.How many jobs in the organization with designations.
55.How many employees working in New York.
Non Equi Join:
56.Display employee details with salary grades.
57.List out the no. of employees on grade wise.
58.Display the employ salary grades and no. of employees between 2000 to 5000 range of
salary.
Self Join:
59.Display the employee details with their manager names.
60.Display the employee details who earn more than their managers salaries.
61.Show the no. of employees working under every manager.
Outer Join:
61.Display employee details with all departments.
62.Display all employees in sales or operation departments.
Set Operators:
63.List out the distinct jobs in Sales and Accounting Departments.
64.List out the ALL jobs in Sales and Accounting Departments.
65.List out the common jobs in Research and Accounting Departments in ascending order.
Page 3
DEPARTMENT OF ICT
Answers
1. SQL > Select * from employee;
2. SQL > Select * from department;
3. SQL > Select * from job;
4. SQL > Select * from loc;
5. SQL > Select first_name, last_name, salary, commission from employee;
6. SQL > Select employee_id id of the employee, last_name name", department id as
department id from employee;
7. SQL > Select last_name, salary*12 annual salary from employee
8. SQL > Select * from employee where last_name=SMITH;
9. SQL > Select * from employee where department_id=20
10. SQL > Select * from employee where salary between 3000 and 4500
11. SQL > Select * from employee where department_id in (20,30)
12. SQL > Select last_name, salary, commission, department_id from employee where
department_id not in (10,30)
13. SQL > Select * from employee where last_name like S%
14. SQL > Select * from employee where last_name like S%H
15. SQL > Select * from employee where last_name like S___
16. SQL > Select * from employee where department_id=10 and salary>3500
17. SQL > Select * from employee where commission is Null
18. SQL > Select employee_id, last_name from employee order by employee_id
19. SQL > Select employee_id, last_name, salary from employee order by salary desc
20. SQL > Select employee_id, last_name, salary from employee order by last_name, salary
desc
21. SQL > Select employee_id, last_name, salary from employee order by last_name,
department_id desc
22. SQL > Select department_id, count(*), from employee group by department_id
23. SQL > Select department_id, count(*), max(salary), min(salary), avg(salary) from
employee group by department_id
24. SQL > Select job_id, count(*), max(salary), min(salary), avg(salary) from employee group
by job_id
25. SQL > Select to_char(hire_date,month)month, count(*) from employee group by
to_char(hire_date,month) order by month
26. SQL > Select to_char(hire_date,yyyy) Year, to_char(hire_date,mon) Month, count(*) No.
of employees from employee group by to_char(hire_date,yyyy), to_char(hire_date,mon)
27. SQL > Select department_id, count(*) from employee group by department_id having
count(*)>=4
28. SQL > Select to_char(hire_date,mon) month, count(*) from employee group by
to_char(hire_date,mon) having to_char(hire_date,mon)=jan
Page 4
DEPARTMENT OF ICT
29. SQL > Select to_char(hire_date,mon) month, count(*) from employee group by
to_char(hire_date,mon) having to_char(hire_date,mon) in (jan,sep)
30. SQL > Select to_char(hire_date,yyyy) Year, count(*) from employee group by
to_char(hire_date,yyyy) having to_char(hire_date,yyyy)=1985
31. SQL > Select to_char(hire_date,yyyy)Year, to_char(hire_date,mon) Month, count(*) No.
of employees from employee where to_char(hire_date,yyyy)=1985 group by
to_char(hire_date,yyyy),to_char(hire_date,mon)
32. SQL > Select to_char(hire_date,yyyy)Year, to_char(hire_date,mon) Month, count(*) No.
of employees from employee where to_char(hire_date,yyyy)=1985 and
to_char(hire_date,mon)=mar group by
to_char(hire_date,yyyy),to_char(hire_date,mon)
33. SQL > Select department_id, count(*) No. of employees from employee where
to_char(hire_date,yyyy)=1985 and to_char(hire_date,mon)=apr group by
to_char(hire_date,yyyy), to_char(hire_date,mon), department_id having count(*)>=3
34. SQL > Select * from employee where salary=(select max(salary) from employee)
35. SQL > Select * from employee where department_id IN (select department_id from
department where name=SALES)
36. SQL > Select * from employee where job_id in (select job_id from job where
function=CLERK
37. SQL > Select * from employee where department_id=(select department_id from
department where location_id=(select location_id from location where regional_group=New
York))
38. SQL > Select * from employee where department_id=(select department_id from
department where name=SALES group by department_id)
39. SQL > Update employee set salary=salary*10/100 wehre job_id=(select job_id from job
where function=CLERK)
40. SQL > delete from employee where department_id=(select department_id from department
where name=ACCOUNTING)
41. SQL > Select * from employee where salary=(select max(salary) from employee where
salary <(select max(salary) from employee))
42. SQL > Select distinct e.salary from employee where & no-1=(select count(distinct salary)
from employee where sal>e.salary)
43. SQL > Select * from employee where salary > all (Select salary from employee where
department_id=30)
44. SQL > Select * from employee where salary > any (Select salary from employee where
department_id=30)
45. SQL > Select employee_id, last_name, department_id from employee e where not exists
(select department_id from department d where d.department_id=e.department_id)
46. SQL > Select name from department d where not exists (select last_name from employee e
where d.department_id=e.department_id)
47. SQL > Select employee_id, last_name, salary, department_id from employee e where salary
> (select avg(salary) from employee where department_id=e.department_id)
48. SQL > Select employee_id, last_name, name from employee e, department d where
e.department_id=d.department_id
49. SQL > Select employee_id, last_name, function from employee e, job j where
e.job_id=j.job_id
Page 5
DEPARTMENT OF ICT
50. SQL > Select employee_id, last_name, name, regional_group from employee e, department
d, location l where e.department_id=d.department_id and d.location_id=l.location_id
51. SQL > Select name, count(*) from employee e, department d where
d.department_id=e.department_id group by name
52. SQL > Select name, count(*) from employee e, department d where
53. SQL > Select name, count(*) from employee e, department d where
54. SQL > Select function, count(*) from employee e, job j where j.job_id=e.job_id group by
function
55. SQL > Select regional_group, count(*) from employee e, department d, location l where
e.department_id=d.department_id and d.location_id=l.location_id and
regional_group=NEW YORK group by regional_group
56. SQL > Select employee_id, last_name, grade_id from employee e, salary_grade s where
salary between lower_bound and upper_bound order by last_name
57. SQL > Select grade_id, count(*) from employee e, salary_grade s where salary between
lower_bound and upper_bound group by grade_id order by grade_id desc
58. SQL > Select grade_id, count(*) from employee e, salary_grade s where salary between
lower_bound and upper_bound and lower_bound>=2000 and lower_bound<=5000 group
by grade_id order by grade_id desc
59. SQL > Select e.last_name emp_name, m.last_name, mgr_name from employee e,
employee m where e.manager_id=m.employee_id
60. SQL > Select e.last_name emp_name, e.salary emp_salary, m.last_name, mgr_name,
m.salary mgr_salary from employee e, employee m where e.manager_id=m.employee_id
and m.salary<e.salary
61. SQL > Select m.manager_id, count(*) from employee e, employee m where
e.employee_id=m.manager_id group by m.manager_id
62. SQL > Select last_name, d.department_id, d.name from employee e, department d where
e.department_id(+)=d.department_id
63. SQL > Select last_name, d.department_id, d.name from employee e, department d where
e.department_id(+)=d.department_id and d.department_idin (select department_id from
department where name IN (SALES,OPERATIONS))
64. SQL > Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=SALES)) union
Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=ACCOUNTING))
65. SQL > Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=SALES)) union all
Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=ACCOUNTING))
66. SQL > Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=RESEARCH))
intersect Select function from job where job_id in (Select job_id from employee where
department_id=(select department_id from department where name=ACCOUNTING))
order by function
Page 6