Essential SQL Queries for Finance
1. Transactions & Accounts
- List all transactions for a customer:
SELECT TransactionID, CustomerID, TransactionDate, Amount, TransactionType
FROM Transactions
WHERE CustomerID = 101;
- Total balance per customer:
SELECT CustomerID, SUM(Amount) AS Balance
FROM Transactions
GROUP BY CustomerID;
- Monthly transaction summary:
SELECT YEAR(TransactionDate) AS Year, MONTH(TransactionDate) AS Month,
SUM(Amount) AS TotalAmount
FROM Transactions
GROUP BY YEAR(TransactionDate), MONTH(TransactionDate);
2. Revenue & Expenses
- Total revenue by product:
SELECT ProductID, SUM(Amount) AS Revenue
FROM Sales
GROUP BY ProductID;
- Expense breakdown by category:
SELECT ExpenseCategory, SUM(Amount) AS TotalExpense
FROM Expenses
GROUP BY ExpenseCategory;
- Profit calculation (Revenue – Expenses):
SELECT (SELECT SUM(Amount) FROM Sales) -
(SELECT SUM(Amount) FROM Expenses) AS Profit;
3. Budget & Forecasting
- Compare actual vs budget:
SELECT Department, SUM(ActualAmount) AS Actual,
SUM(BudgetAmount) AS Budget,
SUM(ActualAmount) - SUM(BudgetAmount) AS Variance
FROM Finance
GROUP BY Department;
SELECT YEAR(TransactionDate) AS Year,
SUM(Amount) AS TotalRevenue,
LAG(SUM(Amount)) OVER (ORDER BY YEAR(TransactionDate)) AS PrevYearRevenue,
(SUM(Amount) - LAG(SUM(Amount)) OVER (ORDER BY YEAR(TransactionDate))) * 100.0 /
LAG(SUM(Amount)) OVER (ORDER BY YEAR(TransactionDate)) AS GrowthRate
FROM Sales
GROUP BY YEAR(TransactionDate);
4. Risk & Compliance
- Flag transactions above threshold (e.g., fraud detection):
SELECT TransactionID, CustomerID, Amount
FROM Transactions
WHERE Amount > 100000;
- Identify inactive accounts:
SELECT CustomerID
FROM Accounts
WHERE LastTransactionDate < DATEADD(YEAR, -1, GETDATE());
5. Advanced Joins
- Customer details with transaction history:
SELECT c.CustomerID, c.CustomerName, t.TransactionID, t.Amount, t.TransactionDate
FROM Customers c
JOIN Transactions t ON c.CustomerID = t.CustomerID;
SELECT r.RegionName, SUM(s.Amount) AS Revenue
FROM Sales s
JOIN Regions r ON s.RegionID = r.RegionID
GROUP BY r.RegionName;
Key Use Cases
- Financial dashboards (Power BI): Revenue, expenses, profit trends.
- Compliance reports: High-value transactions, inactive accounts.
- Forecasting models: Year-over-year growth, budget variance.
Comments
Post a Comment