Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
20 views

SQL-Data Analytcs

Uploaded by

syedraeespeer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

SQL-Data Analytcs

Uploaded by

syedraeespeer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

SQL USED IN DATA ANALYTICS TO INTERACT WITH RELATIONAL

DATABASES. HERE'S A BREAKDOWN OF HOW SQL IS USED IN VARIOUS


ASPECTS OF DATA ANALYTICS:

1. Data Retrieval

- Basic Queries:

- Selecting Data:

SELECT * FROM sales_data;

Retrieves all columns from the `sales_data` table.

- Selecting Specific Columns:

SELECT product_name, sales_amount FROM sales_data;

Retrieves specific columns: `product_name` and `sales_amount`.

- Filtering Data:

- Using `WHERE`:

SELECT * FROM sales_data WHERE sales_amount > 1000;

Retrieves records where `sales_amount` is greater than 1000.

- Combining Conditions:
SELECT * FROM sales_data WHERE sales_amount > 1000 AND region = 'North America';

Retrieves records with multiple conditions.

- Sorting Data:

- Using `ORDER BY`:

SELECT * FROM sales_data ORDER BY sales_amount DESC;

Sorts the data in descending order based on `sales_amount`.

2. Data Aggregation

- Aggregating Data:

- Using `SUM`, `AVG`, `COUNT`:

SELECT SUM(sales_amount) AS total_sales FROM sales_data;

SELECT AVG(sales_amount) AS average_sales FROM sales_data;

SELECT COUNT(*) AS total_transactions FROM sales_data;

Calculates total sales, average sales, and total number of transactions.

- Grouping Data:

- Using `GROUP BY`:

SELECT region, SUM(sales_amount) AS total_sales

FROM sales_data

GROUP BY region;
Groups data by `region` and calculates total sales for each region.

- Filtering Aggregated Data:

- Using `HAVING`:

SELECT region, SUM(sales_amount) AS total_sales

FROM sales_data

GROUP BY region

HAVING SUM(sales_amount) > 5000;

Filters groups based on aggregated values.

3. Data Joins

- Inner Join:

- Combining Tables:

SELECT sales_data.product_name, products.product_category

FROM sales_data

INNER JOIN products ON sales_data.product_id = products.product_id;

Retrieves data combining information from `sales_data` and `products` tables based on a common
key.

- Left Join:

- Including All Records from the Left Table:

SELECT sales_data.product_name, products.product_category


FROM sales_data

LEFT JOIN products ON sales_data.product_id = products.product_id;

Retrieves all records from `sales_data` and matched records from `products`.

4. Data Transformation

- Creating Views:

- Defining a View:

CREATE VIEW high_sales AS

SELECT product_name, sales_amount

FROM sales_data

WHERE sales_amount > 1000;

Creates a view to simplify querying high sales records.

- Inserting Data:

- Inserting Records:

INSERT INTO sales_data (product_name, sales_amount, region)

VALUES ('Product X', 1200, 'North America');

Inserts new records into the `sales_data` table.

- Updating Data:

- Updating Records:
UPDATE sales_data

SET sales_amount = 1500

WHERE product_name = 'Product X';

Updates existing records in the `sales_data` table.

- Deleting Data:

- Deleting Records:

DELETE FROM sales_data

WHERE sales_amount < 500;

Deletes records based on a condition.

5. Data Analysis

- Subqueries:

- Using Subqueries:

SELECT product_name

FROM sales_data

WHERE sales_amount > (SELECT AVG(sales_amount) FROM sales_data);

Retrieves products with sales amounts greater than the average sales amount.

- Window Functions:

- Using `ROW_NUMBER`, `RANK`:

SELECT product_name, sales_amount,


ROW_NUMBER() OVER (PARTITION BY region ORDER BY sales_amount DESC) AS rank

FROM sales_data;

Assigns a rank to each product within its region based on sales amount.

- Common Table Expressions (CTEs):

- Defining a CTE:

WITH RegionalSales AS (

SELECT region, SUM(sales_amount) AS total_sales

FROM sales_data

GROUP BY region

SELECT * FROM RegionalSales WHERE total_sales > 5000;

Uses a CTE to simplify complex queries by breaking them into manageable parts.

6. Data Reporting

- Generating Reports:

- Creating Summary Reports:

SELECT region, COUNT(*) AS total_transactions, SUM(sales_amount) AS total_sales

FROM sales_data

GROUP BY region;

Generates a report summarizing sales and transaction counts by region.


HERE'S HOW SQL IS USED IN DATA ANALYTICS FOR SPECIFIC DOMAINS,
WITH PRACTICAL EXAMPLES FOR EACH:

1. Sales & Marketing

Data Retrieval & Analysis:


- Sales Performance Analysis:

SELECT product_name, SUM(sales_amount) AS total_sales, AVG(sales_amount) AS average_sales

FROM sales_data

GROUP BY product_name

ORDER BY total_sales DESC;

Retrieves the total and average sales per product, sorted by total sales.

- Customer Segmentation:

SELECT customer_id, COUNT(order_id) AS total_orders, SUM(order_amount) AS total_spent

FROM orders

GROUP BY customer_id

HAVING SUM(order_amount) > 1000;

Segments customers based on their total spending, showing those who spent over $1000.

Campaign Effectiveness:
- Campaign ROI:

SELECT campaign_name, SUM(revenue) AS total_revenue, SUM(cost) AS total_cost,


(SUM(revenue) - SUM(cost)) / SUM(cost) AS ROI

FROM campaign_data

GROUP BY campaign_name;

Calculates the Return on Investment (ROI) for different marketing campaigns.

2. Finance

Financial Reporting:
- Profit and Loss Statement:

SELECT department, SUM(revenue) AS total_revenue, SUM(expenses) AS total_expenses,

(SUM(revenue) - SUM(expenses)) AS net_profit

FROM financials

GROUP BY department;

Provides a summary of revenue, expenses, and net profit by department.

Budget Analysis:
- Budget vs. Actual:

SELECT budget_category, SUM(budget_amount) AS total_budget, SUM(actual_amount) AS


total_actual,

(SUM(actual_amount) - SUM(budget_amount)) AS variance

FROM budget_data

GROUP BY budget_category;

Compares budgeted amounts against actual spending to identify variances.


Financial Ratios:
- Liquidity Ratios:

SELECT company, (SUM(current_assets) / SUM(current_liabilities)) AS current_ratio

FROM balance_sheet

GROUP BY company;

Calculates liquidity ratios like the current ratio for companies.

3. Operations

Supply Chain Management:


- Inventory Turnover:

SELECT product_id, SUM(sales_quantity) / AVG(inventory_level) AS inventory_turnover

FROM inventory_data

GROUP BY product_id;

Measures how quickly inventory is sold and replaced for each product.

Production Efficiency:
- Machine Downtime Analysis:

SELECT machine_id, SUM(downtime_hours) AS total_downtime

FROM machine_data

GROUP BY machine_id

ORDER BY total_downtime DESC;


Analyzes and ranks machines based on total downtime.

Quality Control:

- Defect Rates:

SELECT product_line, COUNT(defect_id) AS total_defects, COUNT(order_id) AS total_orders,

(COUNT(defect_id) * 100.0 / COUNT(order_id)) AS defect_rate

FROM quality_data

GROUP BY product_line;

Calculates the defect rate for different product lines.

4. HR Analytics

Employee Performance:
- Performance Review Summary:

SELECT department, AVG(performance_score) AS average_performance

FROM employee_reviews

GROUP BY department;

Summarizes average performance scores by department.

Attrition Analysis:

- Employee Turnover:

SELECT department, COUNT(employee_id) AS total_employees,


SUM(CASE WHEN status = 'Terminated' THEN 1 ELSE 0 END) AS total_terminations

FROM employee_data

GROUP BY department;

Tracks employee terminations and total headcount by department.

Compensation Analysis:
- Salary Analysis:

SELECT job_title, AVG(salary) AS average_salary

FROM employee_salaries

GROUP BY job_title;

Calculates the average salary for different job titles.

Additional Examples Across Domains:

Sales & Marketing:


- Sales Forecasting:

SELECT date, SUM(sales_amount) AS daily_sales

FROM sales_data

GROUP BY date;

Provides a daily sales summary for forecasting trends.


Finance:
- Cash Flow Statement:

SELECT month, SUM(cash_inflow) AS total_inflow, SUM(cash_outflow) AS total_outflow,

(SUM(cash_inflow) - SUM(cash_outflow)) AS net_cash_flow

FROM cash_flow

GROUP BY month;

Summarizes cash inflows and outflows on a monthly basis.

Operations:
- Supplier Performance:

SELECT supplier_id, AVG(delivery_time) AS average_delivery_time

FROM orders

GROUP BY supplier_id;

Evaluates supplier performance based on average delivery time.

HR Analytics:
- Training Effectiveness:

SELECT training_program, AVG(post_training_score) - AVG(pre_training_score) AS score_improvement

FROM training_data

GROUP BY training_program;

Measures the effectiveness of training programs by comparing pre- and post-training scores.
SQL provides the backbone for querying, analyzing, and managing data across various domains, making
it essential for data-driven decision-making and reporting.

You might also like