SQL - MIN() Function
The MIN() function is an aggregate function that is used to find the smallest value of given column or expression. It can be applied on numeric, character or date values.
Syntax:
SELECT MIN(column_name) FROM table_name [WHERE condition] [GROUP BY];
For the demo purpose, we will use the following Employee
and Department
tables in all examples.
EmpId | FirstName | LastName | Salary | DeptId | |
---|---|---|---|---|---|
1 | John | King | '[email protected]' | 24000 | 10 |
2 | James | Bond | 4800 | 20 | |
3 | Neena | Kochhar | '[email protected]' | 15000 | 20 |
4 | Lex | De Haan | '[email protected]' | 9000 | 30 |
5 | Amit | Patel | 60000 | 30 | |
6 | Abdul | Kalam | '[email protected]' | 4800 | 40 |
The following selects the smallest salary from the Employee
table.
SELECT MIN(Salary) AS "Smallest Salary" FROM Employees;
Smallest Salary |
---|
4800 |
The following query gets all employees whose salary is the minimum.
SELECT * FROM Employee WHERE Salary = (SELECT MIN(Salary) FROM Employee);
EmpId | FirstName | LastName | Salary | DeptId | |
---|---|---|---|---|---|
2 | James | Bond | 4800 | 20 | |
6 | Abdul | Kalam | '[email protected]' | 4800 | 40 |
The MIN() is an aggregate function, so it can be used in Group By queries. The following query gets Smallest salary in each department.
SELECT DeptId, MIN(Salary) AS "Smallest Salary" FROM Employee GROUP BY DeptId;
DeptId | Smallest Salary |
---|---|
10 | 24000 |
20 | 15000 |
30 | 9000 |
40 | 4800 |
The MIN() function can be allpied on the varchar columns. The following selects the smallest FirstName
from the Employee
table.
SELECT MIN(FirstName) AS "Smallest FirstName" FROM Employee;
Smallest FirstName |
---|
Lex |