SQL Interview Questions/3 Rd highest salary:5
5.QUERY TO FIND THE 3 RD HIGHEST SALARY IN THE EMPLOYEE INFORMATION
create table employee
(
EMPLOYEE_ID int,
EMPLOYEE_NAME varchar(100),
EMPLOYEE_SALARY bigint
)
INSERT INTO employee VALUES (1,'kavya',20000),
(2,'divya',30000) , (3,'navya',20000) ,(4,'sravya',40000)
(5,'vidhya',50000)
select * from employee

method 1:-
SELECT * FROM employee WHERE EMPLOYEE_SALARY = (SELECT MIN(EMPLOYEE_SALARY) FROM employee WHERE EMPLOYEE_SALARY IN (SELECT DISTINCT TOP 3 EMPLOYEE_SALARY FROM employee ORDER BY EMPLOYEE_SALARY DESC))
method 2:-
SELECT TOP 1 EMPLOYEE_SALARY FROM (SELECT DISTINCT TOP 3 EMPLOYEE_SALARY FROM employee ORDER BY EMPLOYEE_SALARY DESC ) AS TEMP ORDER BY EMPLOYEE_SALARY ASC
method 3:-
SELECT * FROM ( SELECT EMPLOYEE_SALARY ,ROW_NUMBER( ) OVER (ORDER BY EMPLOYEE_SALARY DESC) AS ROW-NUM FROM employee) AS TEMP WHERE ROW_NUM=3
method 4:-
SELECT * FROM employee AS E1 WHERE 3 -1 = (SELECT COUNT (DISTINCT EMPLOYEE_SALARY ) FROM employee AS E2 WHERE E1.EMPLOYEE_SALARY>E2.EMPLOYEE_SALARY)
method 5:-
SELECT MAX(EMPLOYEE_SALARY) FROM employee WHERE EMPLOYEE_SALARY< (SELECT MAX(EMPLOYEE_SALARY) FROM employee WHERE EMPLOYEE_SALARY NOT IN (SELECT MAX(EMPLOYEE_SALARY) FROM employee))
Comments
Post a Comment