Consultas SQL Clave para Optimizar la Gestión Empresarial
Enviado por Chuletator online y clasificado en Francés
Escrito el en español con un tamaño de 3,26 KB
A continuación, se presentan una serie de consultas SQL diseñadas para extraer información valiosa de una base de datos empresarial, facilitando la toma de decisiones en diferentes departamentos.
1. Listado de Proveedores por País de Origen de Clientes
El gerente de finanzas ha solicitado un informe de los proveedores cuyo país de origen coincide con el de los clientes cuyo nombre comienza con la letra 'M'. El informe debe incluir el nombre del proveedor, el nombre de la persona de contacto, el teléfono y la dirección completa (ciudad y país).
SELECT SupplierName AS Nombre, ContactName AS Contacto, Phone AS Telefono, CONCAT(Address, ', ', City, ', ', Country) AS Direccion FROM Suppliers
WHERE Country IN (SELECT Country FROM Customers WHERE ContactName LIKE 'M%');
2. Proveedores con Teléfono Compartido con Exportadores
Recursos Humanos requiere un informe con el nombre y número de teléfono de aquellos proveedores que comparten número de teléfono con alguno de los exportadores.
SELECT SupplierName AS Nombre, Phone AS Teléfono FROM Suppliers WHERE Teléfono IN (SELECT Phone FROM Shippers);
3. Los 5 Artículos Más Vendidos
El departamento de ventas necesita un reporte de los 5 artículos más vendidos, mostrando el nombre del artículo, la cantidad vendida y el precio.
SELECT p.ProductName AS Nombre, COUNT(o.ProductID) AS Cantidad, p.Price AS Precio FROM Products AS p INNER JOIN OrderDetails AS o ON p.ProductID = o.ProductID GROUP BY Nombre ORDER BY Cantidad DESC LIMIT 5;
4. Precio Promedio de Productos por Categoría y Proveedor
El gerente de Relaciones Interinstitucionales necesita conocer el precio promedio de los productos comprados a los proveedores, separado por categoría de producto. Además, se requiere la dirección del proveedor.
SELECT AVG(Product.Price) AS "Precio Promedio", Suppliers.SupplierName AS Nombre, CONCAT(Address, ",", City, ",", Country) AS Direccion, Categories.CategoryName AS Categoria
FROM Products
INNER JOIN Suppliers ON Products.SupplierID = Suppliers.SupplierID
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID
GROUP BY Suppliers.SupplierName, Direccion, Categories.CategoryName
ORDER BY "Precio Promedio" DESC, Suppliers.SupplierName;
5. Cantidad de Productos por Categoría Comprados por Cliente
El departamento de marketing busca ofrecer recomendaciones personalizadas a los clientes. Para ello, se necesita saber la cantidad de productos, por categoría, que compra cada cliente. Los datos deben ordenarse de mayor a menor cantidad de productos comprados por categoría para identificar los intereses de cada cliente.
SELECT Customers.CustomerName, SUM(OrderDetails.Quantity) AS OrdersQuantity, Categories.CategoryName FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID
INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID
GROUP BY Products.CategoryID, Customers.CustomerName, Categories.CategoryName
ORDER BY Customers.CustomerName ASC, SUM(OrderDetails.Quantity) DESC;