Assignment 8
Assignment 8
1.
Code:
SELECT e.ename, e.age
FROM Emp e
JOIN Works w1 ON e.eid = w1.eid
JOIN Works w2 ON e.eid = w2.eid
JOIN Dept d1 ON w1.did = d1.did
JOIN Dept d2 ON w2.did = d2.did
WHERE d1.did = 101 AND d2.did = 102;
Output:
2.
Code:
SELECT w.did, COUNT(w.eid) AS num_employees
FROM Works w
GROUP BY w.did
HAVING SUM(w.pct_time) >= 2000;
Output:
3.
Code:
SELECT e.ename
FROM Emp e
JOIN Works w ON e.eid = w.eid
JOIN Dept d ON w.did = d.did
GROUP BY e.eid, e.ename, e.salary
HAVING e.salary > MAX(d.budget);
Output:
4
Code:
SELECT DISTINCT d.managerid
FROM Dept d
GROUP BY d.managerid
HAVING MIN(d.budget) > 1000000;
Output:
5.
Code:
WITH MaxBudgetDept AS (
SELECT MAX(budget) AS max_budget
FROM Dept
)
SELECT e.ename
FROM Emp e
JOIN Dept d ON e.eid = d.managerid
JOIN MaxBudgetDept m ON d.budget = m.max_budget;
Output:
6.
Code:
SELECT d.managerid
FROM Dept d
GROUP BY d.managerid
HAVING SUM(d.budget) > 5000000;
Output: