Función de plomo del servidor SQL

Función de plomo del servidor SQL
En este artículo, lo guiaremos a través de los fundamentos de trabajar 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 de plomo del servidor SQL

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

La función le permite acceder a una fila en un desplazamiento dado que precede a la fila actual. Por ejemplo, utilizando la función de plomo, puede encontrar la fila inmediatamente después de la fila actual, la décima fila de 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 funciones

A continuación se retrata la sintaxis de la función LED () en SQL Server:

Lead (Scalar_Expression [, offset], [predeterminado])
Over ([partition_by_clause] orden_by_clause)

La lista posterior son los argumentos compatibles y su funcionalidad:

  1. Scalar_Expression: este argumento denota el valor de retorno basado en el desplazamiento definido. Esto puede ser una expresión de cualquier tipo que devuelva un solo valor. Sin embargo, el valor de Scalar_Expression no puede ser otra función analítica/ventana.
  2. Offset: esto establece cuántas filas de la posición de fila actual se obtienen el valor. Por defecto, la función obtendrá la fila inmediatamente adjetivo a la fila actual. Del mismo modo, el valor del parámetro de desplazamiento no puede ser una función analítica o un entero negativo.
  3. predeterminado: este parámetro establece el valor predeterminado si el valor de desplazamiento proporcionado está más allá del alcance de la partición de destino. Por defecto, la función devolverá nulo.
  4. Partición por - La cláusula Partition_By define las reglas que dividen el resultado establecido en varias secciones. Luego se aplica la función a cada partición resultante.
  5. Orden 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 nulo, la función devuelve nulo.

Data de muestra

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

Drop Base de datos si existe el inventario;
Crear inventario de base de datos;
Usar inventario;
Tabla de caída si existe productos;
Crear productos de mesa (
ID int identidad clave primaria no nula,
Product_Name Varchar (100),
Fabricante Varchar (50),
cantidad int no nulo,
precio int predeterminado 0,
en_stock bit
);
Insertar en productos (Product_Name, fabricante, cantidad, precio, in_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 Series 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),
('Pantalla de juegos curvos de Mini-Led Mini-Led de Odyssey Ark', 'Samsung', 50, 2999.90, 1);

La tabla resultante es como se muestra:

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

El ejemplo a continuación usa la función LED () para devolver el precio del siguiente producto.

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

Tabla resultante:

Dado que no hay fila de la última columna, la función devuelve nulo.

Ejemplo 2 - Uso de la función SQL Server Lead () a través de un conjunto de particiones

También podemos obtener el siguiente producto en una partición determinada. Por ejemplo, podemos dividir los datos anteriores en función del fabricante y aplicar la función LED () en cada partición

Una ilustración de ejemplo es como se muestra:

seleccionar
nombre del producto,
fabricante,
cantidad,
precio,
plomo (precio,
1) sobre (
Partición por fabricante
pedido por cantidad)
de
productos;

La consulta anterior debe dividir las filas en función del fabricante y obtener el siguiente precio de los valores en cada partición.

En este caso, hay tres particiones.

Conclusión

En esta publicación, entendió los bloques de construcción de la función LED () en SQL Server. También aprendió a usar la función LED () en un conjunto de resultados y particiones.