Función LEAD() del servidor SQL

Funcion Lead Del Servidor Sql



En este artículo, lo guiaremos a través de los fundamentos del trabajo con la función lead() en SQL Server. Cubriremos lo que hace la función, su sintaxis y ejemplos prácticos de cómo usarla.

Función principal de SQL Server

La función líder en SQL Server es una función analítica que le permite acceder a los datos de una fila posterior en el mismo conjunto de resultados sin una autocombinación.

La función le permite acceder a una fila en un desplazamiento dado que precede a la fila actual. Por ejemplo, al usar la función principal, puede encontrar la fila inmediatamente después de la fila actual, la décima fila desde la fila actual, etc.







Esta función impulsa a los desarrolladores de bases de datos a realizar comparaciones de filas sin tareas complejas como unir, usar vistas, etc.



Sintaxis de la función

A continuación se muestra la sintaxis de la función lead() en SQL Server:



LEAD (scalar_expression [, offset], [predeterminado])
SOBRE ([partición_por_cláusula] orden_por_cláusula)

La siguiente lista son los argumentos admitidos y su funcionalidad:





  1. scalar_expression: este argumento denota el valor de retorno basado en el desplazamiento definido. Puede ser una expresión de cualquier tipo que devuelva un único valor. Sin embargo, el valor de scalar_expression no puede ser otra función analítica/de ventana.
  2. offset: esto establece cuántas filas desde la posición de la fila actual se obtuvo el valor. De forma predeterminada, la función buscará la fila inmediatamente adjetiva a la fila actual. De manera similar, el valor del parámetro de compensación no puede ser una función analítica o un número entero negativo.
  3. predeterminado: este parámetro establece el valor predeterminado si el valor de compensación proporcionado está fuera del alcance de la partición de destino. Por defecto, la función devolverá NULL.
  4. PARTICIÓN POR: la cláusula partición_por define las reglas que dividen el conjunto de resultados en varias secciones. Luego, la función se aplica a cada partición resultante.
  5. ORDENAR POR: esto define el orden lógico en el que se aplican las filas en cada partición.

La función devuelve el tipo de datos definido en scalar_expression. Si el valor devuelto es NULL, la función devuelve NULL.

Data de muestra

Usemos algunas bases de datos de muestra para ilustrar mejor cómo usar la función principal. Primero, use las consultas como se muestra a continuación:



DROP DATABASE SI EXISTE inventario;

CREAR inventario de BASE DE DATOS;

UTILIZAR inventario;

DROP TABLE SI EXISTE productos;

CREAR TABLA productos (
id int identidad clave primaria no nula,
nombre_producto varchar(100),
fabricante varchar(50),
cantidad int no nula,
precio int por defecto 0,
poco en stock
);
insertar en productos (nombre_producto, fabricante, cantidad, precio, en stock)
valores ('Apple iPad Air', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4', 'Samsung', 302, 1569.00, 1),
('Sony Playstation 5', 'Sony', 500, 499,99, 1),
('Samsung Galaxy Watch-5 Pro', 'Samsung', 600, 209/.99, 1),
('Apple Watch Serie 6', 'Apple', 459, 379.90, 1),
('Apple AirPods Pro', 'Apple', 200, 199.99, 1),
('55' Clase S95B OLED 4K Smart TV', 'Samsung', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini-LED Curved Gaming Screen', 'Samsung', 50, 2999.90, 1);

La tabla resultante es la siguiente:

Ejemplo 1: Uso de la función lead() de SQL Server sobre un conjunto de resultados

El siguiente ejemplo utiliza la función lead() para devolver el precio del siguiente producto.

Seleccione
nombre del producto,
fabricante,
cantidad,
precio,
plomo (precio,
1) sobre (
ordenar por cantidad)
de
productos;

Tabla resultante:

Como no hay una fila de la última columna, la función devuelve NULL.

Ejemplo 2: uso de la función lead() de SQL Server en un conjunto de particiones

También podemos buscar el siguiente producto en una partición dada. Por ejemplo, podemos particionar los datos anteriores según el fabricante y aplicar la función lead() en cada partición

Una ilustración de ejemplo es como se muestra:

Seleccione
nombre del producto,
fabricante,
cantidad,
precio,
plomo (precio,
1) sobre (
partición por fabricante
ordenar por cantidad)
de
productos;

La consulta anterior debe dividir las filas según el fabricante y obtener el siguiente precio para los valores de cada partición.

En este caso, hay tres particiones.

Conclusión

En esta publicación, comprendió los componentes básicos de la función lead() en SQL Server. También aprendió a usar la función lead() sobre un resultado y un conjunto de particiones.