Domina T‑SQL, modelado, optimización, seguridad, procedimientos almacenados, ETL y más. Incluye scripts descargables, datasets de práctica y soporte para resolver dudas.
Estructurado en módulos progresivos con retos y proyectos al final de cada bloque.
Código claro, optimizado y con propósito. Cada consulta tiene su dataset y explicación paso a paso.
-- Top 3 productos por ciudad (ventana)
WITH r AS (
SELECT Ciudad, Producto,
SUM(Total) AS Monto,
ROW_NUMBER() OVER(PARTITION BY Ciudad ORDER BY SUM(Total) DESC) rn
FROM dbo.Ventas
GROUP BY Ciudad, Producto
)
SELECT * FROM r WHERE rn <= 3;
-- UPSERT con MERGE
MERGE dbo.Clientes AS tgt
USING dbo.ClientesNuevos AS src
ON tgt.Email = src.Email
WHEN MATCHED THEN
UPDATE SET tgt.Telefono = src.Telefono, tgt.Ciudad = src.Ciudad
WHEN NOT MATCHED THEN
INSERT(Nombre, Email, Telefono, Ciudad)
VALUES(src.Nombre, src.Email, src.Telefono, src.Ciudad);
-- Enmascaramiento dinámico
CREATE TABLE dbo.Usuarios(
UsuarioID INT IDENTITY(1,1) PRIMARY KEY,
Email NVARCHAR(200) MASKED WITH (FUNCTION = 'email()') NULL,
IngresoMensual INT MASKED WITH (FUNCTION = 'random(1000,9000)')
);