Select Top en una consulta SQL

SELECT TOP EN SQL SERVER

Algunas veces nos interesa obtener solo algunos registros de una consulta en SQL server.

Por ejemplo, si tenemos la tabla "Empleados" con 10 registros, y a nosotros solamente nos interesa obtener los últimos 4 empleados que se han dado de alta en la empresa, entonces podemos hacer uso de la sentencia TOP y del ordenamiento Order By

Te dejo los script para que puedas crear la tabla empleados y para que insertes algunos valores de Prueba:

-- Creamos la tabla Empleados
CREATE TABLE EMPLEADOS(
ID_EMPLEADO INT NOT NULL,
NOMBRE VARCHAR(100) NOT NULL,
FECHA_INGRESO DATETIME NOT NULL)

-- Insertamos 10 registros a la tabla empleados, con una fecha de ingreso aleatoria
INSERT INTO EMPLEADOS SELECT 1 , 'JUAN', '20160115'
INSERT INTO EMPLEADOS SELECT 2 , 'PEDRO', '20160201'
INSERT INTO EMPLEADOS SELECT 3 , 'JACINTO', '20160101'
INSERT INTO EMPLEADOS SELECT 4 , 'LUCAS', '20140101'
INSERT INTO EMPLEADOS SELECT 5 , 'RENE', '20130115'
INSERT INTO EMPLEADOS SELECT 6 , 'JULIO', '20120201'
INSERT INTO EMPLEADOS SELECT 7 , 'RAMON', '20100101'
INSERT INTO EMPLEADOS SELECT 8 , 'ALEX', '20160101'
INSERT INTO EMPLEADOS SELECT 9 , 'ANDY', '20140115'
INSERT INTO EMPLEADOS SELECT 10 , 'FRANCISCO', '20130201'

Ahora, aplicamos el Select Top para que la consulta solo nos traiga los 4 primeros empleados que se dieron de alta, aplicando el ordenamiento descendente  en el campo fecha_ingreso

La consulta quedaría de la siguiente Manera:
SELECT TOP 4 ID_EMPLEADO, NOMBRE, FECHA_INGRESO
FROM EMPLEADOS
ORDER BY FECHA_INGRESO DESC

el resultado es el siguiente:
Select Top en SQL Server

Este tipo de sentencia TOP es útil cuando tenemos miles de registros y queremos traernos solo algunos. 

Mis mejores Saludos
Xavier García


No hay comentarios:

Publicar un comentario