Solutions: 1. SELECT Sale_ID, Date, EXTRACT(YEAR FROM Date) AS Year, EXTRACT(MONTH FROM Date) AS Month, EXTRACT(DAY FROM Date) AS Day FROM Sales_Transactions; 2. SELECT Sale_ID, Date, DAYNAME(Date) AS Day_Of_Week FROM Sales_Transactions WHERE DAYOFWEEK(Date) IN (1, 7); 3. SELECT Sale_ID, Date, DATEDIFF(CURRENT_DATE, Date) AS Days_Since_Sale FROM Sales_Transactions; 4. SELECT s.SKU_Code, p.Design_No, s.Date FROM Sales_Transactions s JOIN Products p ON s.SKU_Code = p.SKU_Code WHERE EXTRACT(MONTH FROM s.Date) BETWEEN 4 AND 6; 5. SELECT Operation_ID, Operation_Type, Date FROM Warehouse_Ops WHERE Date >= DATEADD(day, -30, CURRENT_DATE); 6. SELECT DAYNAME(Date) AS Day_Of_Week, AVG(Gross_Amount) AS Avg_Sales FROM Sales_Transactions GROUP BY DAYNAME(Date), DAYOFWEEK(Date) ORDER BY DAYOFWEEK(Date); 7. WITH CustomerDates AS ( SELECT DISTINCT Customer_ID, Date FROM Sales_Transactions ), ConsecutivePurchases AS ( SELECT Customer_ID, Date, LAG(Date) OVER (PARTITION BY Customer_ID ORDER BY Date) AS Prev_Date FROM CustomerDates ) SELECT c.Customer_ID, c.Customer_Name, CONCAT(cp.Date, ', ', cp.Prev_Date) AS Purchase_Dates FROM ConsecutivePurchases cp JOIN Customers c ON cp.Customer_ID = c.Customer_ID WHERE DATEDIFF(cp.Date, cp.Prev_Date) = 1; 8. WITH MonthlyProductSales AS ( SELECT SKU_Code, EXTRACT(MONTH FROM Date) AS Month, SUM(Gross_Amount) AS Monthly_Sales, RANK() OVER (PARTITION BY SKU_Code ORDER BY SUM(Gross_Amount) DESC) AS Sales_Rank FROM Sales_Transactions GROUP BY SKU_Code, EXTRACT(MONTH FROM Date) ) SELECT m.SKU_Code, m.Month AS Peak_Month, m.Monthly_Sales FROM MonthlyProductSales m WHERE m.Sales_Rank = 1; 9. WITH InboundOps AS ( SELECT SKU_Code, Date AS Inbound_Date FROM Warehouse_Ops WHERE Operation_Type = 'Inbound' ), OutboundOps AS ( SELECT SKU_Code, Date AS Outbound_Date FROM Warehouse_Ops WHERE Operation_Type = 'Outbound' ) SELECT i.SKU_Code, i.Inbound_Date, o.Outbound_Date, DATEDIFF(o.Outbound_Date, i.Inbound_Date) AS Days_In_Warehouse FROM InboundOps i JOIN OutboundOps o ON i.SKU_Code = o.SKU_Code; 10. WITH YearlySales AS ( SELECT EXTRACT(MONTH FROM Date) AS Month, EXTRACT(YEAR FROM Date) AS Year, SUM(Gross_Amount) AS Yearly_Sales, LAG(SUM(Gross_Amount)) OVER (PARTITION BY EXTRACT(MONTH FROM Date) ORDER BY EXTRACT(YEAR FROM Date)) AS Previous_Year_Sales FROM Sales_Transactions GROUP BY EXTRACT(MONTH FROM Date), EXTRACT(YEAR FROM Date) ) SELECT Month, Yearly_Sales AS Current_Year_Sales, Previous_Year_Sales, ((Yearly_Sales - Previous_Year_Sales) / Previous_Year_Sales) * 100 AS Growth_Pct FROM YearlySales WHERE Previous_Year_Sales IS NOT NULL; 11. SELECT Operation_ID, Timestamp AS Original_Timestamp, CONVERT_TIMEZONE('UTC', Timestamp) AS UTC_Timestamp FROM Warehouse_Ops; 12. SELECT EXTRACT(HOUR FROM Timestamp) AS Hour_Of_Day, COUNT(*) AS Transaction_Count FROM Sales_Transactions GROUP BY EXTRACT(HOUR FROM Timestamp) ORDER BY COUNT(*) DESC LIMIT 1; 13. WITH CustomerIntervals AS ( SELECT Customer_ID, Date, DATEDIFF(Date, LAG(Date) OVER (PARTITION BY Customer_ID ORDER BY Date)) AS Days_Between FROM Sales_Transactions ) SELECT c.Customer_ID, AVG(ci.Days_Between) AS Avg_Days_Between_Purchases FROM CustomerIntervals ci JOIN Customers c ON ci.Customer_ID = c.Customer_ID WHERE ci.Days_Between IS NOT NULL GROUP BY c.Customer_ID; 14. WITH ProductMonthlySales AS ( SELECT s.SKU_Code, EXTRACT(MONTH FROM s.Date) AS Month, SUM(s.Gross_Amount) AS Monthly_Sales, SUM(SUM(s.Gross_Amount)) OVER (PARTITION BY s.SKU_Code) AS Total_Sales FROM Sales_Transactions s GROUP BY s.SKU_Code, EXTRACT(MONTH FROM s.Date) ), SeasonalProducts AS ( SELECT SKU_Code, STRING_AGG(Month, ', ' ORDER BY Month) AS Seasonal_Months, SUM(Monthly_Sales) / MAX(Total_Sales) * 100 AS Pct_Total_Sales FROM ProductMonthlySales GROUP BY SKU_Code HAVING SUM(Monthly_Sales) / MAX(Total_Sales) >= 0.8 AND COUNT(DISTINCT Month) = 3 AND MAX(Month) - MIN(Month) = 2 ) SELECT * FROM SeasonalProducts; 15. WITH RECURSIVE DateRange AS ( SELECT CAST('2021-01-01' AS DATE) AS Date UNION ALL SELECT DATEADD(day, 1, Date) FROM DateRange WHERE Date < '2023-12-31' ) SELECT Date, DAYNAME(Date) AS Day_Of_Week, MONTHNAME(Date) AS Month, CONCAT('Q', QUARTER(Date)) AS Quarter, EXTRACT(YEAR FROM Date) AS Year, CASE WHEN DAYOFWEEK(Date) IN (1,7) THEN 1 ELSE 0 END AS Is_Weekend FROM DateRange;