1.
Basic Data Retrieval
• -- Select specific columns
• SELECT CustomerID, FirstName, LastName,
Email
• FROM Customers
• WHERE IsActive = 1
• ORDER BY LastName;
• -- Count total records
• SELECT COUNT(*) AS TotalOrders
2. Joins
• -- Inner Join: Customers with their Orders
• SELECT C.CustomerID, C.FirstName,
C.LastName, O.OrderID, O.OrderDate
• FROM dbo.Customers AS C
• INNER JOIN dbo.Orders AS O
• ON C.CustomerID = O.CustomerID
• WHERE O.OrderDate >= DATEADD(month, -1,
GETDATE());
3. Aggregation & Grouping
• -- Sales by product
• SELECT P.ProductName, SUM(OI.Quantity *
OI.UnitPrice) AS TotalSales
• FROM dbo.OrderItems AS OI
• JOIN dbo.Products AS P ON OI.ProductID =
P.ProductID
• GROUP BY P.ProductName
• ORDER BY TotalSales DESC;
4. Subqueries & CTEs
• -- Customers with above-average order count
• SELECT CustomerID, FirstName, LastName
• FROM dbo.Customers
• WHERE CustomerID IN (
• SELECT CustomerID
• FROM dbo.Orders
• GROUP BY CustomerID
• HAVING COUNT(*) > (
• SELECT AVG(order_count)
5. Window Functions
• -- Running total by date
• SELECT OrderDate,
• SUM(Quantity * UnitPrice) OVER (ORDER
BY OrderDate) AS RunningTotal
• FROM dbo.OrderItems
• JOIN dbo.Orders USING (OrderID);
• -- Percentage contribution by product
• SELECT ProductID, OrderDate,
6. ETL / Data Modification
• -- Insert into archive
• INSERT INTO dbo.Orders_Archive (OrderID,
CustomerID, OrderDate, Total)
• SELECT OrderID, CustomerID, OrderDate, Total
• FROM dbo.Orders
• WHERE OrderDate < DATEADD(year, -1,
GETDATE());
• -- Batch update
7. Indexing & Optimization Helpers
• -- Display missing indexes
• SELECT TOP 5
• migs.avg_user_impact AS Impact,
• mid.statement AS TableName,
• mid.equality_columns,
• mid.inequality_columns,
• mid.included_columns
• FROM sys.dm_db_missing_index_group_stats
AS migs