Aquí. vamos a ver cómo recuperar y mostrar N-ésimos registros de una tabla de base de datos de Microsoft SQL Server usando una consulta SQL. Primero crearemos una base de datos llamada «geeks» y luego crearemos la tabla «Empleado» en esta base de datos y ejecutaremos nuestra consulta en esa tabla.
Creación de una base de datos:
Use la siguiente instrucción SQL para crear una base de datos llamada geeks:
CREATE DATABASE geeks;
Usando la base de datos:
USE geeks;
Definición de tabla:
Tenemos la siguiente tabla de empleados en nuestra base de datos geeks :
CREATE TABLE Employee( ID INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30) NOT NULL, PHONE INT(10) NOT NULL UNIQUE, EMAIL VARCHAR(30) NOT NULL UNIQUE, DATE_OF_JOINING DATE);
Puede usar la siguiente declaración para consultar la descripción de la tabla creada:
EXEC SP_COLUMNS Employee;
Agregar datos a la tabla:
Use la siguiente declaración para agregar datos a la tabla de empleados :
INSERT INTO Employee (NAME, PHONE, EMAIL, DATE_OF_JOINING) VALUES ('Yogesh Vaishnav', 0000000001, 'yogesh@mail.com', '2019-10-03'), ('Vishal Vishwakarma', 0000000002, 'chicha@mail.com', '2019-11-07'), ('Ajit Yadav', 0000000003, 'ppa@mail.com', '2019-12-12'), ('Ashish Yadav', 0000000004, 'baba@mail.com', '2019-12-25'), ('Tanvi Thakur', 0000000005, 'tanvi@mail.com', '2020-01-20'), ('Sam', 0000000006, 'sam@mail.com', '2020-03-03'), ('Ron', 0000000007, 'ron@mail.com', '2020-05-16'), ('Sara', 0000000008, 'sara@mail.com', '2020-07-01'), ('Zara', 0000000009, 'zara@mail.com', '2020-08-20'), ('Yoji', 0000000010, 'yoji@mail.com', '2020-03-10');
Para verificar el contenido de la tabla, use la siguiente declaración:
SELECT * FROM Employee;
Ahora mostremos el registro N de la tabla.
Syntax : SELECT * FROM <table_name> LIMIT N-1,1; Here N refers to the row which is to be retrieved.
Ejemplo :
Recuperemos la sexta fila desde el principio de la tabla de empleados que hemos creado.
SELECT * FROM Employee ORDER BY <column_name> --column name is the name according to which the rows are to be ordered.Here it's ID. OFFSET 5 ROWS --since N - 1 = 6 - 1 = 5 FETCH NEXT 1 ROWS ONLY;
Producción :