1. Retrieve all records from the Employees table

SELECT * FROM Employees;

2. Retrieve only employee names

SELECT name FROM Employees;

3. Retrieve employees with salary greater than 50000

SELECT * FROM Employees
WHERE salary > 50000;

4. Retrieve employees from IT department

SELECT * FROM Employees
WHERE department = 'IT';

5. Sort employees by salary in ascending order

SELECT * FROM Employees
ORDER BY salary ASC;

6. Sort employees by salary in descending order

SELECT * FROM Employees
ORDER BY salary DESC;

7. Find total number of employees

SELECT COUNT(*) FROM Employees;

8. Find highest salary

SELECT MAX(salary) FROM Employees;

9. Find lowest salary

SELECT MIN(salary) FROM Employees;

10. Find average salary

SELECT AVG(salary) FROM Employees;

11. Count employees in each department

SELECT department, COUNT(*)
FROM Employees
GROUP BY department;

12. Find total salary by department

SELECT department, SUM(salary)
FROM Employees
GROUP BY department;

13. Find departments having more than 5 employees

SELECT department, COUNT(*)
FROM Employees
GROUP BY department
HAVING COUNT(*) > 5;

14. Find employees whose name starts with ‘A’

SELECT * FROM Employees
WHERE name LIKE 'A%';

15. Find employees whose name ends with ‘n’

SELECT * FROM Employees
WHERE name LIKE '%n';

16. Find employees whose name contains ‘ar’

SELECT * FROM Employees
WHERE name LIKE '%ar%';

17. Retrieve employees hired after 2022

SELECT * FROM Employees
WHERE joining_date > '2022-01-01';

18. Find employees with salary between 30000 and 60000

SELECT * FROM Employees
WHERE salary BETWEEN 30000 AND 60000;

19. Retrieve employees from multiple departments

SELECT * FROM Employees
WHERE department IN ('IT','HR');

20. Retrieve employees not in HR department

SELECT * FROM Employees
WHERE department NOT IN ('HR');

21. Find second highest salary

SELECT MAX(salary)
FROM Employees
WHERE salary < (SELECT MAX(salary) FROM Employees);

22. Find third highest salary

SELECT DISTINCT salary
FROM Employees
ORDER BY salary DESC
LIMIT 1 OFFSET 2;

23. Find duplicate employee names

SELECT name, COUNT(*)
FROM Employees
GROUP BY name
HAVING COUNT(*) > 1;

24. Remove duplicate records

DELETE FROM Employees
WHERE emp_id NOT IN (
SELECT MIN(emp_id)
FROM Employees
GROUP BY name
);

25. Retrieve employees without manager

SELECT * FROM Employees
WHERE manager_id IS NULL;

26. Find employees earning above average salary

SELECT *
FROM Employees
WHERE salary > (SELECT AVG(salary) FROM Employees);

27. Find employees earning below average salary

SELECT *
FROM Employees
WHERE salary < (SELECT AVG(salary) FROM Employees);

28. Find department with highest average salary

SELECT department, AVG(salary)
FROM Employees
GROUP BY department
ORDER BY AVG(salary) DESC
LIMIT 1;

29. Find employee with longest tenure

SELECT *
FROM Employees
ORDER BY joining_date ASC
LIMIT 1;

30. Find latest joined employee

SELECT *
FROM Employees
ORDER BY joining_date DESC
LIMIT 1;

31. Find top 5 highest paid employees

SELECT *
FROM Employees
ORDER BY salary DESC
LIMIT 5;

32. Find employees whose salary is same as another employee

SELECT *
FROM Employees
WHERE salary IN (
SELECT salary
FROM Employees
GROUP BY salary
HAVING COUNT(*) > 1
);

33. Retrieve unique departments

SELECT DISTINCT department
FROM Employees;

34. Find employees with NULL salary

SELECT *
FROM Employees
WHERE salary IS NULL;

35. Update employee salary

UPDATE Employees
SET salary = 60000
WHERE emp_id = 5;

36. Delete employees with salary less than 20000

DELETE FROM Employees
WHERE salary < 20000;

37. Insert new employee

INSERT INTO Employees
(emp_id, name, department, salary)
VALUES (101,'Rahul','IT',55000);

38. Rename column

ALTER TABLE Employees
RENAME COLUMN name TO employee_name;

39. Add new column

ALTER TABLE Employees
ADD email VARCHAR(100);

40. Drop column

ALTER TABLE Employees
DROP COLUMN email;

41. Find employee count in each department

SELECT department, COUNT(*) AS total_employees
FROM Employees
GROUP BY department;

42. Find departments with average salary greater than 50000

SELECT department, AVG(salary)
FROM Employees
GROUP BY department
HAVING AVG(salary) > 50000;

43. Retrieve employees whose salary equals the maximum salary

SELECT *
FROM Employees
WHERE salary = (SELECT MAX(salary) FROM Employees);

44. Retrieve employees whose salary equals the minimum salary

SELECT *
FROM Employees
WHERE salary = (SELECT MIN(salary) FROM Employees);

45. Find employees hired in 2023

SELECT *
FROM Employees
WHERE YEAR(joining_date) = 2023;

46. Find employees whose salary is greater than department average

SELECT *
FROM Employees e
WHERE salary >
(
SELECT AVG(salary)
FROM Employees
WHERE department = e.department
);

47. Retrieve employees ordered by joining date

SELECT *
FROM Employees
ORDER BY joining_date ASC;

48. Retrieve employees who joined before 2021

SELECT *
FROM Employees
WHERE joining_date < '2021-01-01';

49. Find employees whose name length is greater than 5

SELECT *
FROM Employees
WHERE LENGTH(name) > 5;

50. Retrieve employees whose name contains ‘a’

SELECT *
FROM Employees
WHERE name LIKE '%a%';

51. Find employees whose salary is divisible by 1000

SELECT *
FROM Employees
WHERE salary % 1000 = 0;

52. Retrieve employees sorted by department and salary

SELECT *
FROM Employees
ORDER BY department, salary DESC;

53. Find department with maximum number of employees

SELECT department, COUNT(*) AS total
FROM Employees
GROUP BY department
ORDER BY total DESC
LIMIT 1;

54. Find department with minimum number of employees

SELECT department, COUNT(*) AS total
FROM Employees
GROUP BY department
ORDER BY total ASC
LIMIT 1;

55. Retrieve employees whose salary is between 40000 and 80000

SELECT *
FROM Employees
WHERE salary BETWEEN 40000 AND 80000;

56. Find total salary expense of company

SELECT SUM(salary) AS total_salary
FROM Employees;

57. Retrieve employees hired in the last year

SELECT *
FROM Employees
WHERE joining_date >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR);

58. Retrieve employees whose department is not NULL

SELECT *
FROM Employees
WHERE department IS NOT NULL;

59. Find employees with same department

SELECT department, COUNT(*)
FROM Employees
GROUP BY department
HAVING COUNT(*) > 1;

60. Find employee names in uppercase

SELECT UPPER(name)
FROM Employees;

61. Find employee names in lowercase

SELECT LOWER(name)
FROM Employees;

62. Retrieve first 5 employees

SELECT *
FROM Employees
LIMIT 5;

63. Retrieve employees excluding first 5 rows

SELECT *
FROM Employees
LIMIT 5 OFFSET 5;

64. Find employees with salary greater than 70000

SELECT *
FROM Employees
WHERE salary > 70000;

65. Find employee with second lowest salary

SELECT MIN(salary)
FROM Employees
WHERE salary >
(SELECT MIN(salary) FROM Employees);

66. Find employees who joined in current month

SELECT *
FROM Employees
WHERE MONTH(joining_date) = MONTH(CURDATE());

67. Retrieve employees whose manager id is 101

SELECT *
FROM Employees
WHERE manager_id = 101;

68. Count employees with salary above 60000

SELECT COUNT(*)
FROM Employees
WHERE salary > 60000;

69. Retrieve employees whose salary is below department average

SELECT *
FROM Employees e
WHERE salary <
(
SELECT AVG(salary)
FROM Employees
WHERE department = e.department
);

70. Find employees hired in last 30 days

SELECT *
FROM Employees
WHERE joining_date >= CURDATE() - INTERVAL 30 DAY;

71. Retrieve employees whose salary equals department maximum

SELECT *
FROM Employees e
WHERE salary =
(
SELECT MAX(salary)
FROM Employees
WHERE department = e.department
);

72. Retrieve employees whose salary equals department minimum

SELECT *
FROM Employees e
WHERE salary =
(
SELECT MIN(salary)
FROM Employees
WHERE department = e.department
);

73. Find departments with more than 3 employees

SELECT department
FROM Employees
GROUP BY department
HAVING COUNT(*) > 3;

74. Retrieve employees sorted by name

SELECT *
FROM Employees
ORDER BY name;

75. Find employees whose salary is not between 30000 and 50000

SELECT *
FROM Employees
WHERE salary NOT BETWEEN 30000 AND 50000;

76. Retrieve employees whose department starts with ‘S’

SELECT *
FROM Employees
WHERE department LIKE 'S%';

77. Find employees whose department ends with ‘e’

SELECT *
FROM Employees
WHERE department LIKE '%e';

78. Find employees hired after manager

SELECT e.*
FROM Employees e
JOIN Employees m
ON e.manager_id = m.emp_id
WHERE e.joining_date > m.joining_date;

79. Retrieve employees with same salary

SELECT salary
FROM Employees
GROUP BY salary
HAVING COUNT(*) > 1;

80. Find employee count by salary

SELECT salary, COUNT(*)
FROM Employees
GROUP BY salary;

81. Retrieve employees whose salary rank is top 3

SELECT *
FROM (
SELECT *, RANK() OVER (ORDER BY salary DESC) AS rnk
FROM Employees
) t
WHERE rnk <= 3;

82. Find department wise employee count

SELECT department, COUNT(*)
FROM Employees
GROUP BY department;

83. Find department wise average salary

SELECT department, AVG(salary)
FROM Employees
GROUP BY department;

84. Find department wise maximum salary

SELECT department, MAX(salary)
FROM Employees
GROUP BY department;

85. Find department wise minimum salary

SELECT department, MIN(salary)
FROM Employees
GROUP BY department;

86. Retrieve employees whose name starts with vowel

SELECT *
FROM Employees
WHERE name REGEXP '^[AEIOUaeiou]';

87. Find employees hired today

SELECT *
FROM Employees
WHERE joining_date = CURDATE();

88. Retrieve employees whose salary is multiple of 500

SELECT *
FROM Employees
WHERE salary % 500 = 0;

89. Retrieve employees whose name has exactly 5 characters

SELECT *
FROM Employees
WHERE LENGTH(name) = 5;

90. Find employee with highest salary in IT department

SELECT *
FROM Employees
WHERE department = 'IT'
ORDER BY salary DESC
LIMIT 1;

91. Find employees hired earliest

SELECT *
FROM Employees
ORDER BY joining_date ASC
LIMIT 1;

92. Find employees hired most recently

SELECT *
FROM Employees
ORDER BY joining_date DESC
LIMIT 1;

93. Retrieve employees whose salary equals company average

SELECT *
FROM Employees
WHERE salary =
(SELECT AVG(salary) FROM Employees);

94. Find employees with no department

SELECT *
FROM Employees
WHERE department IS NULL;

95. Find employees whose manager id is NULL

SELECT *
FROM Employees
WHERE manager_id IS NULL;

96. Retrieve employees whose salary greater than 50000 and department IT

SELECT *
FROM Employees
WHERE salary > 50000
AND department = 'IT';

97. Retrieve employees whose salary less than 40000 or department HR

SELECT *
FROM Employees
WHERE salary < 40000
OR department = 'HR';

98. Find total employees hired each year

SELECT YEAR(joining_date), COUNT(*)
FROM Employees
GROUP BY YEAR(joining_date);

99. Retrieve employees whose salary is highest in company

SELECT *
FROM Employees
WHERE salary = (SELECT MAX(salary) FROM Employees);

100. Retrieve employees whose salary is lowest in company

SELECT *
FROM Employees
WHERE salary = (SELECT MIN(salary) FROM Employees);

📢 Join Our WhatsApp Channel

💼 Get Daily IT Job Updates, Interview Preparation Tips & Instant Alerts directly on WhatsApp.

👉 Join WhatsApp Now

📢 Join Our Telegram Channel

💼 Get Daily IT Job Updates, Interview Tips & Exclusive Alerts directly on Telegram!

👉 Join Telegram

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © 2022 - 2025 itfreesource.com

Enable Notifications OK No thanks