0% found this document useful (0 votes)
22 views11 pages

SQL Queries Gcreddy

The document outlines SQL queries for creating and managing employee, department, job, and location tables. It includes various types of queries such as simple queries, where conditions, order by clauses, group by and having clauses, sub-queries, joins, and set operators. Each section provides specific SQL commands to retrieve, update, or manipulate data based on different criteria.

Uploaded by

sai Charan
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)
22 views11 pages

SQL Queries Gcreddy

The document outlines SQL queries for creating and managing employee, department, job, and location tables. It includes various types of queries such as simple queries, where conditions, order by clauses, group by and having clauses, sub-queries, joins, and set operators. Each section provides specific SQL commands to retrieve, update, or manipulate data based on different criteria.

Uploaded by

sai Charan
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/ 11

SQL Queries

Create the following Tables:

LOCATION
Location_ID Regional_Group
122 NEW YORK
123 DALLAS
124 CHICAGO
167 BOSTON

DEPARTMENT
Department_ID Name Location_ID
10 ACCOUNTING 122
20 RESEARCH 124
30 SALES 123
40 OPERATIONS 167

JOB
Job_ID Function
667 CLERK
668 STAFF
669 ANALYST
670 SALESPERSON
671 MANAGER
672 PRESIDENT

EMPLOYEE
EMPLO
LAST_N FIRST_ MIDDLE_ JOB_ MANAG HIRED SALA COM DEPARTM
YEE_I
AME NAME NAME ID ER_ID ATE RY M ENT_ID
D
17- NUL
7369 SMITH JOHN Q 667 7902 800 20
DEC-84 L
20-
7499 ALLEN KEVIN J 670 7698 1600 300 30
FEB-85
04- NUL
7505 DOYLE JEAN K 671 7839 2850 30
APR-85 L
15-
NUL
7506 DENNIS LYNN S 671 7839 MAY- 2750 30
L
85
10- NUL
7507 BAKER LESLIE D 671 7839 2200 40
JUN-85 L
CYNTHI 22-
7521 WARK D 670 7698 1250 500 30
A FEB-85

Queries based on the above tables:

Simple Queries:

1.List all the employee details

SQL > Select * from employee;

2.List all the department details

SQL > Select * from department;

3.List all job details

SQL > Select * from job;


4.List all the locations
SQL > Select * from loc;

5.List out first name,last name,salary, commission for all employees

A) SQL > Select first_name, last_name, salary, commission from employee;

6.List out employee_id,last name,department id for all employees and rename


employee id as “ID of the employee”, last name as “Name of the employee”,
department id as “department ID”

A)SQL > Select employee_id “id of the employee”, last_name “name", department id
as “department id” from employee;

7.List out the employees anuual salary with their names only.

A) SQL > Select last_name, salary*12 “annual salary” from employee

Where Conditions:
8) List the details about “SMITH”

A) Select * from employee where last_name=’SMITH’;

9)List out the employees who are working in department 20

A) Select * from employee where department_id=20

10)List out the employees who are earning salary between 3000 and 4500

A) Select * from employee where salary between 3000 and 4500

11) List out the employees who are working in department 10 or 20

A) Select * from employee where department_id in (20,30)

12) Find out the employees who are not working in department 10 or 30

A) Select last_name, salary, commission, department_id from employee where


department_id not in (10,30)

13) List out the employees whose name starts with “S”

A) Select * from employee where last_name like ‘S%’

14) List out the employees whose name start with “S” and end with “H”

A) Select * from employee where last_name like ‘S%H’

15) List out the employees whose name length is 4 and start with “S”

A) Select * from employee where last_name like ‘S___’

16)List out the employees who are working in department 10 and draw the
salaries more than 3500

A) Select * from employee where department_id=10 and salary>3500

17)list out the employees who are not receiving commission.

A) Select * from employee where commission is Null


Order By Clause:

18)List out the employee id, last name in ascending order based on the employee
id.

A) Select employee_id, last_name from employee order by employee_id

19)List out the employee id, name in descending order based on salary column

1. A) Select employee_id, last_name, salary from employee order by salary desc

20)list out the employee details according to their last_name in ascending order
and salaries in descending order

A) Select employee_id, last_name, salary from employee order by last_name, salary


desc

21) list out the employee details according to their last_name in ascending order
and then on department_id in descending order.

A) Select employee_id, last_name, salary from employee order by last_name,


department_id desc

Group By & Having Clause:

22)How many employees who are working in different departments wise in the
organization

A) Select department_id, count(*), from employee group by department_id

23) List out the department wise maximum salary, minimum salary, average
salary of the employees

A) Select department_id, count(*), max(salary), min(salary), avg(salary) from


employee group by department_id

24)List out the job wise maximum salary, minimum salary, average salaries of
the employees.

A) Select job_id, count(*), max(salary), min(salary), avg(salary) from employee


group by job_id
25) List out the no.of employees joined in every month in ascending order.

A) Select to_char(hire_date,’month’)month, count(*) from employee group by


to_char(hire_date,’month’) order by month

26) List out the no.of employees for each month and year, in the ascending order
based on the year, month.

A) 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)List out the department id having atleast four employees.

A) Select department_id, count(*) from employee group by department_id having


count(*)>=4

28)How many employees in January month.

A) Select to_char(hire_date,’mon’) month, count(*) from employee group by


to_char(hire_date,’mon’) having to_char(hire_date,’mon’)=’jan’

29)How many employees who are joined in January or September month.

A) 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) How many employees who are joined in 1985.

A) 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) How many employees joined each month in 1985.

A) 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)How many employees who are joined in March 1985.

A) 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) Which is the department id, having greater than or equal to 3 employees
joined in April 1985.

A) 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

Sub-Queries

34)Display the employee who got the maximum salary.

A) Select * from employee where salary=(select max(salary) from employee)

35) Display the employees who are working in Sales department

A) Select * from employee where department_id IN (select department_id from


department where name=’SALES’)

36) Display the employees who are working as “Clerk”.

A) Select * from employee where job_id in (select job_id from job where
function=’CLERK’

37) Display the employees who are working in “New York”

A) 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) Find out no.of employees working in “Sales” department.

A) > Select * from employee where department_id=(select department_id from


department where name=’SALES’ group by department_id)

39)Update the employees salaries, who are working as Clerk on the basis of
10%.

A) Update employee set salary=salary*10/100 wehre job_id=(select job_id from job


where function=’CLERK’)

40)Delete the employees who are working in accounting department.


A) delete from employee where department_id=(select department_id from
department where name=’ACCOUNTING’)

41)Display the second highest salary drawing employee details.

A) Select * from employee where salary=(select max(salary) from employee where


salary <(select max(salary) from employee))

42) Display the Nth highest salary drawing employee details

A) Select distinct e.salary from employee where & no-1=(select count(distinct salary)
from employee where sal>e.salary)

Sub-Query operators: (ALL,ANY,SOME,EXISTS)

43) List out the employees who earn more than every employee in department
30.

A) Select * from employee where salary > all (Select salary from employee where
department_id=30)

44)List out the employees who earn more than the lowest salary in department
30.

A) Select * from employee where salary > any (Select salary from employee where
department_id=30)

45) Find out whose department has not employees.

A) 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) Find out which department does not have any employees.

A) Select name from department d where not exists (select last_name from employee
e where d.department_id=e.department_id)
Co-Related Sub Queries:

47.Find out the employees who earn greater than the average salary for their
department.
A) Select employee_id, last_name, salary, department_id from employee e where salary
> (select avg(salary) from employee where department_id=e.department_id)
Joins

Simple join

48.List our employees with their department names


A) Select employee_id, last_name, name from employee e, department d where
e.department_id=d.department_id

49.Display employees with their designations (jobs)


A) Select employee_id, last_name, function from employee e, job j where
e.job_id=j.job_id
50.Display the employees with their department name and regional groups.
A) 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.How many employees who are working in different departments and display
with department name.
A) Select name, count(*) from employee e, department d where
d.department_id=e.department_id group by name

52.How many employees who are working in sales department.


A) Select name, count(*) from employee e, department d where
d.department_id=e.department_id group by name having name=’SALES’

53.Which is the department having greater than or equal to 5 employees and display
the department names in ascending order.
A) Select name, count(*) from employee e, department d where
d.department_id=e.department_id group by name having count (*)>=5 order by name

54.How many jobs in the organization with designations.


A) Select function, count(*) from employee e, job j where j.job_id=e.job_id group by
function
55.How many employees working in “New York”.
A) 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
Non – Equi Join:

56.Display employee details with salary grades.


A) 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.List out the no. of employees on grade wise.
A) 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.Display the employ salary grades and no. of employees between 2000 to 5000
range of salary.
A) 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

Self Join:

59.Display the employee details with their manager names.


A) Select e.last_name emp_name, m.last_name, mgr_name from employee e,
employee m where e.manager_id=m.employee_id
60.Display the employee details who earn more than their managers salaries.
A) 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
61.Show the no. of employees working under every manager.
A) Select m.manager_id, count(*) from employee e, employee m where
e.employee_id=m.manager_id group by m.manager_id

Outer Join:

62.Display employee details with all departments.


A) Select last_name, d.department_id, d.name from employee e, department d where
e.department_id(+)=d.department_id

63.Display all employees in sales or operation departments.


A) 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’))

Set Operators:
64.List out the distinct jobs in Sales and Accounting Departments.
A) 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.List out the ALL jobs in Sales and Accounting Departments.


A) 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.List out the common jobs in Research and Accounting Departments in ascending
order.
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

You might also like