tipos subconsultas resueltos por numero empleados ejercicios ejemplos departamento consultas complejas sql sql-server sql-server-2005

resueltos - subconsultas sql



Cómo encontrar el quinto salario más alto en una sola consulta en SQL Server (9)

La consulta a continuación obtiene el salario más alto después del nombre del empleado en particular.

¡Solo echa un vistazo a eso!

SELECT TOP 1 salary FROM ( SELECT DISTINCT min(salary) salary FROM emp where salary > (select salary from emp where empname = ''John Hell'') ) a ORDER BY salary

Cómo encontrar el quinto salario más alto en una sola consulta en SQL Server


Para encontrar el quinto salario más alto de una base de datos, la consulta es ...

select MIN(esal) from ( select top 5 esal from tbemp order by esal desc) as sal

su funcionamiento lo verifica


Puedes probar algo como:

select salary from Employees a where 5=(select count(distinct salary) from Employees b where a.salary > b.salary) order by salary desc


SELECT TOP 1 salary FROM ( SELECT DISTINCT TOP n salary FROM employee ORDER BY salary DESC) a ORDER BY salary where n > 1 -- (n is always greater than one)

Puede encontrar cualquier número de salario más alto usando esta consulta.


SELECT MIN(Salary) FROM ( SELECT TOP 2 Salary FROM empa ORDER BY Salary DESC ) AS TopFive

Está funcionando correctamente, por favor úsala.


select * from employee2 e where 2=(select count(distinct salary) from employee2 where e.salary<=salary)

esta funcionando


En SQL Server 2005 y 2008, cree una consulta de subselección clasificada, luego agregue una cláusula where donde rank = 5.

select * from ( Select SalesOrderID, CustomerID, Row_Number() Over (Order By SalesOrderID) as RunningCount From Sales.SalesOrderHeader Where SalesOrderID > 10000 Order By SalesOrderID ) ranked where RunningCount = 5


Estos funcionan en SQL Server 2000

DECLARE @result int SELECT TOP 5 @result = Salary FROM Employees ORDER BY Salary DESC

La sintaxis debe estar cerca. No puedo probarlo en este momento.

O puede ir con una subconsulta:

SELECT MIN(Salary) FROM ( SELECT TOP 5 Salary FROM Employees ORDER BY Salary DESC ) AS TopFive

Nuevamente, no es positivo si la sintaxis es exactamente correcta, pero el enfoque funciona.


Puedes encontrarlo usando esta consulta:

select top 1 salary from (select top 5 salary from tbl_Employee order by salary desc) as tbl order by salary asc