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:
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