You can retrieve the second highest salary using following two queries..
In first query we have used CTE and DENSE_RANK to retrieve the second highest salary
WITH myTableWithRows AS (
SELECT (DENSE_RANK() OVER (ORDER BY myTable.Salary DESC)) as row,*
FROM myTable)
SELECT * FROM myTableWithRows WHERE row = 2
In second query, SELF JOIN is used to retrieve the second highest salary and also haven't used two SELECT statements.
SELECT top 1 t2.Salary
FROM myTable t1, myTable t2
WHERE t1.Salary > t2.Salary
ORDER BY t1.Salary DESC, t2.Salary DESC