๐ Q13. Find employees whose salary is above the company average
๐งพ Table: employees
id | name | salary
1 | Arjun | 40000
2 | Riya | 55000
3 | Meena | 62000
4 | Kabir | 45000
๐ Query:
SELECT *
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
๐ Result: Riya, Meena
๐ Q14. Get the 3 most recent joined employees
๐ Table: employees
id | name | join_date
1 | Arjun | 2021-03-10
2 | Riya | 2022-05-12
3 | Meena | 2023-02-01
4 | Kabir | 2023-11-09
๐ Query:
SELECT *
FROM employees
ORDER BY join_date DESC
LIMIT 3;
๐ Result: Kabir, Meena, Riya
๐ Q15. Retrieve employees who donโt have a manager assigned
๐งพ Table: employees
id | name | manager_id
1 | Arjun | NULL
2 | Riya | 1
3 | Meena | NULL
4 | Kabir | 2
๐ Query:
SELECT id, name
FROM employees
WHERE manager_id IS NULL;
๐ Result: Arjun, Meena
๐ Q16. Find departments where more than 2 employees work
๐งพ Table: employees
id | name | department
1 | Arjun | HR
2 | Riya | IT
3 | Meena | IT
4 | Kabir | HR
5 | John | IT
๐ Query:
SELECT department, COUNT(*) AS total
FROM employees
GROUP BY department
HAVING COUNT(*) > 2;
๐ Result: IT โ 3 employees
๐ Q17. Select employees whose salary equals department average
๐งพ Table: employees
id | name | dept | salary
1 | Arjun | HR | 40000
2 | Riya | IT | 55000
3 | Meena | IT | 62000
4 | Kabir | HR | 45000
๐ Query:
SELECT e.*
FROM employees e
JOIN (
SELECT dept, AVG(salary) AS avg_salary
FROM employees
GROUP BY dept
) t ON e.dept = t.dept
WHERE e.salary = t.avg_salary;
๐ Result: None (but logic works if matches exist)
๐ Q18. Get employees who have at least one matching project
๐ Table: project_assignments
employee_id | project_id
1 | 101
2 | 101
2 | 102
3 | 103
4 | 101
๐ Query:
SELECT p1.employee_id, p2.employee_id AS colleague
FROM project_assignments p1
JOIN project_assignments p2
ON p1.project_id = p2.project_id
AND p1.employee_id <> p2.employee_id;
๐ Result:
Employees 1, 2, 4 share project 101
๐ฌ Tap โค๏ธ for more!