You are on page 1of 3

1) use hr; select worker.employee_id , worker.last_name, manager.

manager_id,
manager.department_id from employees worker, employees manager;
2) use hr; select count(distinct department_id) as 'Number of Depts in HR
Database' from employees;
3) use hr; select department_id , job_id, round(avg(salary)) as 'Average Salary' from
employees group by department_id, job_id;
4) use hr; select e.employee_id, g.job_id from employees e join job_history g on
e.employee_id = g.employee_id;

1. SELECT ROUND (MAX(salary),0) 'Max', ROUND (MIN(salary),0) 'Min',


ROUND (SUM(salary),0) 'Sum', ROUND (AVG(salary),0) 'Average' FROM
employees;
2. SELECT job_id, COUNT(*) FROM employees GROUP BY job_id;
3. SELECT COUNT(DISTINCT manager_id) 'Number of Managers' FROM
employees;
4. SELECT manager_id, MIN (salary) FROM employees WHERE manager_id IS
NOT NULL GROUP BY manager_id HAVING MIN (salary) > 6000 ORDER BY
MIN (salary) DESC;

ITE 407 ADVANCED DATABASE MANAGEMENT SYSTEMS Laboratory


Exercise 1

2. SELECT department_id, MIN(salary), MAX(salary)


FROM employees
GROUP BY department_id;

3. SELECT employees.job_id,
COUNT(employee_id)
FROM employees, jobs
WHERE employees.salary <= jobs.min_salary
GROUP BY jobs.job_id;

4. SELECT employees.job_id,
COUNT(employee_id)
FROM employees, jobs
WHERE employees.salary <= jobs.max_salary
GROUP BY job_id;

5. SELECT AVG(salary), department_id


FROM employees
GROUP BY department_id;

6. SELECT MIN(salary)
FROM employees
WHERE department_id=50;

SELECT salary
FROM employees
WHERE salary <= 2100 && department_id=80;

7. SELECT employee_id, last_name, department_id


FROM employees
WHERE salary <
ALL(SELECT AVG(salary)
FROM employees GROUP BY department_id);

Lab 2.2: Subqueries

1. SELECT department_id
FROM employees
WHERE job_id = 'SAL_REP' <> department_id is not null;

2. SELECT *
FROM departments
WHERE department_id NOT IN (SELECT department_id
FROM employees
WHERE (job_id = 'SA_REP' ) AND (department_id IS NOT NULL));

3. SELECT employee_id, last_name, salary, manager_id


FROM employees
WHERE manager_id IN (SELECT employee_id
FROM employees
WHERE last_name = 'King');

4. USE hr;
SELECT employee_id, last_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary)
FROM employees)
GROUP BY salary;

5. SELECT department_id, last_name, job_id


FROM employees
WHERE department_id IN (SELECT department_id
FROM departments
WHERE department_name = 'Executive');

You might also like