Answer: Aggregate Records Using MIN/MAX
Find a detailed explanation of how to find the second-highest number in a table using an SQL query.
Solution
The solution is given below:
/* The query to find the second-highest number */SELECT MAX(Salary) AS SecondHighestSalaryFROM EmployeesWHERE Salary NOT IN (SELECT Max(Salary)FROM Employees);
Explanation
The explanation of the code solution is given below:
Line 2: The
SELECT
query selects the maximum value in theSalary
column using theMAX()
function. We useAS
to set an alias for the column.Line 3: The
FROM
clause specifies the table name asEmployees
.Line 4: We selected the second highest salary using the subquery in the where clause to filter. The
NOT IN
operator is a combination of two SQL keywords,NOT
andIN
. TheNOT
operator allows the retrieval of the records that don’t match the condition and theIN
operator is used to specify a list of items from which we decide on the values to retrieve.
Recall of relevant concepts
We have covered the following concepts in this question:
Selective columns
Aliases
Sorting the data
Limiting the records ...