Segundo salario más alto

Escriba una consulta SQL para obtener el segundo salario más alto de la tabla Empleado.

    | Id | Salary |
    | 1  | 100    |
    | 2  | 200    |
    | 3  | 300    |

Por ejemplo, dada la tabla de empleados anterior, la consulta debería devolver 200 como el segundo salario más alto. Si no hay un segundo salario más alto, la consulta debe devolver nulo.

    | SecondHighestSalary |
    | 200                 |

Esta es una pregunta de Leetcode, para la cual ingresé el siguiente código:

    SELECT CASE WHEN Salary = '' 
                THEN NULL
    ELSE Salary 
    END AS SecondHighestSalary 
    FROM (SELECT TOP 2 Salary
                ,ROW_NUMBER() OVER (ORDER BY Salary DESC) AS Num
          FROM Employee
          ORDER BY Salary DESC) AS T
    WHERE T.Num = 2

Dice que la consulta no devuelve NULL si no hay valor para el segundo salario más alto. Por ej. si la tabla es

   | Id | Salary| 
   | 1  |  100  |

La consulta debe devolver

   |SecondHighestSalary|
   |       null        |

y n

   |SecondHighestSalary|
   |                   |

Respuestas a la pregunta(9)

Su respuesta a la pregunta