0% found this document useful (0 votes)
20 views

SQL-Data Analytcs

Uploaded by

syedraeespeer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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