What Is Data Analytics in 2026?

Data Analytics is the process of collecting, cleaning, analyzing, and visualizing data to drive smart business decisions. In 2026, every company — startup to Fortune 500 — needs data analysts daily.

Why right now is the best time:

Who Should Become a Data Analyst?

You’re the right fit if you’re from Commerce, Arts, Science, MBA, or BBA backgrounds; a fresher wanting a high-paying first job; a professional looking for a salary jump; or someone who loves numbers and business problems — but never learned to code.

CrackNonTech was built exactly for you. It specializes in taking complete non-tech beginners to job-ready Data Analysts.

End-to-End Data Analyst Roadmap 2026

Phase 1 — Foundations

Topic What to Learn Why It Matters
Excel / Google Sheets Formulas, Pivot Tables, VLOOKUP, Charts Every analyst uses this daily
Statistics Basics Mean, Median, Std Dev, Probability Core for interpreting data
Data Types Structured vs Unstructured, Quantitative vs Qualitative Know what data you’re working with
Business Metrics KPIs, Revenue, Churn, Conversion Rate, DAU/MAU Speak the language of business

Phase 2 — SQL: The #1 Tested Skill

SQL is asked in 95% of Data Analyst interviews. No SQL = No job.

Topic What to Learn
SQL Basics SELECT, WHERE, ORDER BY, LIMIT, DISTINCT
Aggregations GROUP BY, HAVING, COUNT, SUM, AVG, MIN, MAX
Joins INNER, LEFT, RIGHT, FULL OUTER, SELF, CROSS
Subqueries Nested, Correlated, EXISTS
Window Functions ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER
CTEs WITH clause for readable, clean queries
Performance EXPLAIN, Indexing basics

Phase 3 — Python for Data Analysis 

Library What to Learn Use Case
NumPy Arrays, numerical operations Fast math on large datasets
Pandas DataFrames, merge, groupby, pivot 80% of your daily Python work
Matplotlib Line, bar, pie charts Quick visualization
Seaborn Heatmaps, distribution plots Statistical visualization
Jupyter Notebook Writing + documenting code Industry-standard tool

Must-know Pandas operations: .fillna(), .dropna(), .merge(), .groupby(), .agg(), .loc[], .pivot_table()

Phase 4 — Data Visualization

Tool Best For Why Learn It
Power BI Business dashboards Most-used in Indian companies
Tableau Interactive visual analytics Most-used in MNCs and product companies
Looker Studio Free cloud reporting Great for freelancers and digital marketing

Build at least 3 dashboards — Sales, HR, and one personal project.

Phase 5 — Real Projects + Portfolio

Project 1: Sales Performance Dashboard — Excel + Power BI | Dataset: Superstore Sales (Kaggle)

Project 2: E-Commerce Customer Analysis — SQL + Python + Tableau | Dataset: Brazilian E-Commerce (Kaggle)

Project 3: HR Attrition Analysis — Python (Pandas + Seaborn) + Power BI | Dataset: IBM HR Analytics (Kaggle)

Upload to GitHub with a clear README. Post findings on LinkedIn with screenshots.

Phase 6 — Interview Preparation 

Practice all 30 SQL questions below. Learn A/B Testing basics, case study frameworks (Define → Metrics → Explore → Hypothesize → Recommend), and resume writing with quantified outcomes.

Complete 8 -Week Study Plan

Week Topic Daily Hours Goal
1 Excel Basics 2 hrs Formulas, pivot tables
2 Excel Advanced + Statistics 2 hrs VLOOKUP, stats fundamentals
3 SQL Basics 2–3 hrs SELECT, WHERE, GROUP BY
4 SQL Intermediate 2–3 hrs Subqueries, aggregations
5 SQL Joins 2–3 hrs All 6 join types with practice
6 SQL Window Functions 2–3 hrs RANK, LAG, LEAD, running totals
7 SQL Practice + CTEs 3 hrs 30+ LeetCode/HackerRank problems
8 Python NumPy + Pandas 2–3 hrs Read, filter, clean data
9 Python Pandas Advanced 2–3 hrs Merge, groupby, EDA workflow
10 Python Visualization 2 hrs Matplotlib + Seaborn
11 Power BI Basics 2 hrs First report, data connections
12 Power BI + DAX 2–3 hrs Measures, calculated columns
13 Tableau Basics 2 hrs Charts, filters, dashboards
14 Project 1: Sales Dashboard 3 hrs Full end-to-end project
15 Project 2: E-Commerce Analysis 3 hrs SQL + Python + Tableau
16 Project 3: HR Attrition 3 hrs Python + Power BI
17 Portfolio + GitHub + LinkedIn 2 hrs Upload projects, write case studies
18 Resume + Job Applications 2 hrs Apply to 20+ jobs/week
19 SQL Interview Prep 3 hrs Practice all 30 questions
20 Mock Interviews + Case Studies 3 hrs Full round simulations

Tools Every Data Analyst Must Know in 2026

Category Tool Free? Priority
Spreadsheets Excel / Google Sheets ✅ Free 🔴 Must
Database MySQL / PostgreSQL ✅ Free 🔴 Must
Programming Python (Anaconda) ✅ Free 🔴 Must
BI Dashboard Power BI Desktop ✅ Free 🔴 Must
BI Dashboard Tableau Public ✅ Free 🟡 High
Notebooks Jupyter / Google Colab ✅ Free 🔴 Must
Version Control GitHub ✅ Free 🟡 High
SQL Practice LeetCode / StrataScratch ✅ Free tier 🔴 Must
Cloud (Bonus) Google BigQuery ✅ Free tier 🟢 Good to have

How CrackNonTech Helps You Become a Data Analyst

CrackNonTech is India’s leading platform for non-tech professionals and freshers breaking into Data Analytics — no CS degree, no prior coding, no confusion.

What Makes CrackNonTech Different?

✅ Structured Learning Path — No Confusion A clear week-by-week curriculum from zero to job-ready. You always know exactly what to learn next.

✅ Non-Tech Friendly Teaching Every concept taught assuming zero prior knowledge. Absolute beginners start here and build up systematically — no prerequisites.

✅ Interview-Focused SQL Training SQL is covered from SELECT all the way to Window Functions, with an “Interview Angle” section for every concept — what companies actually test.

✅ Hands-On Real Projects You don’t just watch videos. You build real dashboards with actual business datasets, so your portfolio proves your skills.

✅ Resume + LinkedIn Help Resume templates built for Data Analyst roles, LinkedIn profile reviews, and guidance on getting recruiter attention.

✅ Mock Interview Rounds Practice SQL rounds, case study rounds, and behavioral rounds before the real thing.

✅ Active Community Thousands of learners from Commerce, Arts, and non-tech backgrounds who are now working as Data Analysts at TCS, Infosys, Flipkart, Amazon, and funded startups.

✅ Placement Assistance Job referrals, interview tips, and direct connections to hiring managers actively recruiting analysts.

CrackNonTech At a Glance

Feature Details
Duration 3–6 months, self-paced
SQL Training Beginner to Advanced (Interview-ready)
Python NumPy, Pandas, Matplotlib, Seaborn
BI Tools Power BI + Tableau full modules
Projects 3+ real-world capstone projects
Mock Interviews SQL + Case Study simulation rounds
Resume Help Analyst-specific templates
Community Active learning groups with peer support
Doubt Support Live doubt-solving sessions

Bottom line: CrackNonTech doesn’t just teach data analytics. It makes you interview-ready, portfolio-ready, and job-ready — even if you’ve never written a single line of code.

Top 30 SQL Interview Questions With Answers (2026)

These questions are asked at Amazon, Flipkart, Swiggy, Paytm, TCS, Accenture, Deloitte, and hundreds of startups. Every question includes the SQL query + a clear explanation.

SECTION A: SQL JOINS (Q1–Q10)

Q1. What are the different types of JOINs in SQL?

Answer:

Join Type What It Returns
INNER JOIN Only matching rows from both tables
LEFT JOIN All rows from left table + matched rows from right (NULLs for no match)
RIGHT JOIN All rows from right table + matched rows from left
FULL OUTER JOIN All rows from both tables (NULLs where no match exists)
SELF JOIN A table joined with itself
CROSS JOIN Every row of table A × every row of table B (Cartesian product)

Q2. Get all employees and their department names, including employees without a department.

  sql

SELECT 
    e.employee_id,
    e.employee_name,
    d.department_name
FROM employees e
LEFT JOIN departments d 
    ON e.department_id = d.department_id;

Explanation: LEFT JOIN ensures employees without a department still appear in results, with NULL for department_name.

Q3. Find employees who have NO matching department (orphan records).

  sql

SELECT 
    e.employee_id,
    e.employee_name
FROM employees e
LEFT JOIN departments d 
    ON e.department_id = d.department_id
WHERE d.department_id IS NULL;

Explanation: After a LEFT JOIN, rows with no match in the right table have NULL values. Filtering for NULL isolates these orphan records.

Q4. Write a SELF JOIN to show each employee and their manager.

  sql

SELECT 
    e.employee_name AS Employee,
    m.employee_name AS Manager
FROM employees e
LEFT JOIN employees m 
    ON e.manager_id = m.employee_id;

Explanation: The same employees table is aliased twice — e for the employee, m for the manager. LEFT JOIN ensures employees without a manager (like the CEO) still appear.

Q5. What is the difference between INNER JOIN and LEFT JOIN?

Answer:

Practical example: If employees has 100 rows and only 80 have a matching department:

Q6. Find records that exist in both tables (intersection).

  sql

SELECT e.employee_id, e.employee_name
FROM employees e
INNER JOIN contractors c 
    ON e.employee_id = c.contractor_id;

Q7. Get all combinations of products and categories using CROSS JOIN.

  sql

SELECT 
    p.product_name,
    c.category_name
FROM products p
CROSS JOIN categories c;

Explanation: If products has 5 rows and categories has 4 rows, CROSS JOIN produces 5 × 4 = 20 rows. Used for generating combinations, test data, or scheduling grids.

Q8. Write a FULL OUTER JOIN to find unmatched records from both tables.

  sql

SELECT 
    e.employee_name,
    d.department_name
FROM employees e
FULL OUTER JOIN departments d 
    ON e.department_id = d.department_id
WHERE e.employee_id IS NULL 
   OR d.department_id IS NULL;

Note: MySQL does not support FULL OUTER JOIN. Use Question 9’s approach.

Q9. How do you simulate FULL OUTER JOIN in MySQL?

  sql

SELECT e.employee_name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.department_id
UNION
SELECT e.employee_name, d.department_name
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.department_id;

Explanation: UNION combines results of LEFT JOIN + RIGHT JOIN and removes duplicates, effectively producing a FULL OUTER JOIN.

Q10. Use SELF JOIN to find employees who share the same salary.

  sql

SELECT 
    a.employee_name AS Employee1,
    b.employee_name AS Employee2,
    a.salary
FROM employees a
JOIN employees b 
    ON a.salary = b.salary
    AND a.employee_id <> b.employee_id;

Explanation: a.employee_id <> b.employee_id prevents matching an employee to themselves.


SECTION B: WINDOW FUNCTIONS (Q11–Q22)

Q11. What are Window Functions in SQL and why are they important?

Answer:

Window Functions perform calculations across a set of rows related to the current row — without collapsing the result like GROUP BY does. You get aggregated values alongside individual row data.

Function Purpose
ROW_NUMBER() Assigns a unique sequential number to each row
RANK() Ranks rows; ties get the same rank, next rank has a gap
DENSE_RANK() Ranks rows; ties get the same rank, no gap after
NTILE(n) Divides rows into n equal buckets
LAG(col, n) Returns value from n rows before the current row
LEAD(col, n) Returns value from n rows after the current row
SUM() OVER() Running or cumulative totals
AVG() OVER() Moving averages

Syntax:

  sql

function_name() OVER (
    PARTITION BY column     -- group within (optional)
    ORDER BY column         -- sort within the window
    ROWS BETWEEN ... AND ... -- define row range (optional)
)

Q12. Rank employees by salary within each department.

  sql

SELECT 
    employee_name,
    department_id,
    salary,
    RANK() OVER (
        PARTITION BY department_id 
        ORDER BY salary DESC
    ) AS salary_rank
FROM employees;

Explanation: PARTITION BY department_id resets the ranking for each department. ORDER BY salary DESC gives rank 1 to the highest earner.

Q13. What is the difference between RANK(), DENSE_RANK(), and ROW_NUMBER()?

Given salaries: 90000, 90000, 85000

Function Result
ROW_NUMBER() 1, 2, 3 — always unique, no ties
RANK() 1, 1, 3 — tied rows get same rank, next rank skips
DENSE_RANK() 1, 1, 2 — tied rows get same rank, no gap after

  sql

SELECT 
    employee_name,
    salary,
    ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num,
    RANK()       OVER (ORDER BY salary DESC) AS rnk,
    DENSE_RANK() OVER (ORDER BY salary DESC) AS dense_rnk
FROM employees;

Interview tip: Use DENSE_RANK when you need “Nth highest” queries. Use ROW_NUMBER for deduplication.

Q14. Find the top 3 highest-paid employees in each department.

  sql

WITH ranked AS (
    SELECT 
        employee_name,
        department_id,
        salary,
        DENSE_RANK() OVER (
            PARTITION BY department_id 
            ORDER BY salary DESC
        ) AS rnk
    FROM employees
)
SELECT *
FROM ranked
WHERE rnk <= 3;

Explanation: You cannot use WHERE directly on a window function result. Wrap it in a CTE or subquery first, then filter.

Q15. Calculate a running total of sales by date.

  sql

SELECT 
    sale_date,
    amount,
    SUM(amount) OVER (
        ORDER BY sale_date
    ) AS running_total
FROM sales;

Q16. Calculate running total of sales within each region separately.

  sql

SELECT 
    region,
    sale_date,
    amount,
    SUM(amount) OVER (
        PARTITION BY region 
        ORDER BY sale_date
    ) AS running_total
FROM sales;

Explanation: Adding PARTITION BY region resets the running total for each region.

Q17. Use LAG() to find month-over-month revenue change.

  sql

SELECT 
    month,
    revenue,
    LAG(revenue, 1) OVER (ORDER BY month) AS prev_month_revenue,
    revenue - LAG(revenue, 1) OVER (ORDER BY month) AS revenue_change
FROM monthly_sales;

Explanation: LAG(column, n) fetches the value from n rows back. The first row returns NULL since there is no previous row.

Q18. Use LEAD() to show the next order date for each customer.

  sql

SELECT 
    customer_id,
    order_date,
    LEAD(order_date, 1) OVER (
        PARTITION BY customer_id 
        ORDER BY order_date
    ) AS next_order_date
FROM orders;

Explanation: LEAD() looks forward. Combined with LAG(), you can calculate time gaps between events — very common in cohort and retention analysis.

Q19. Divide employees into 4 salary quartiles using NTILE().

  sql

SELECT 
    employee_name,
    salary,
    NTILE(4) OVER (ORDER BY salary DESC) AS quartile
FROM employees;

Explanation: NTILE(4) splits all rows into 4 equal buckets. Quartile 1 = top 25% earners. Used frequently for performance tiers and segmentation.

Q20. Calculate a 3-month moving average of sales.

  sql

SELECT 
    month,
    revenue,
    AVG(revenue) OVER (
        ORDER BY month
        ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
    ) AS moving_avg_3month
FROM monthly_sales;

Explanation: ROWS BETWEEN 2 PRECEDING AND CURRENT ROW defines a window of the current row + 2 rows before it = 3 months. Moving averages smooth out short-term fluctuations.

Q21. Remove duplicate rows and keep only the first occurrence.

  sql

WITH deduped AS (
    SELECT *,
        ROW_NUMBER() OVER (
            PARTITION BY email 
            ORDER BY created_at ASC
        ) AS rn
    FROM users
)
DELETE FROM users
WHERE user_id IN (
    SELECT user_id FROM deduped WHERE rn > 1
);

For SELECT only (to preview):

  sql

WITH deduped AS (
    SELECT *,
        ROW_NUMBER() OVER (
            PARTITION BY email ORDER BY created_at
        ) AS rn
    FROM users
)
SELECT * FROM deduped WHERE rn = 1;

This is one of the most frequently asked data cleaning questions in interviews.

Q22. Show what percentage of total sales each product contributes.

  sql

SELECT 
    product_name,
    sales_amount,
    SUM(sales_amount) OVER () AS total_sales,
    ROUND(
        100.0 * sales_amount / SUM(sales_amount) OVER (), 2
    ) AS pct_of_total
FROM product_sales
ORDER BY pct_of_total DESC;

Explanation: SUM() OVER () with an empty OVER clause calculates the grand total across all rows — a global window.

SECTION C: GENERAL SQL INTERVIEW QUESTIONS (Q23–Q30)

Q23. What is the difference between WHERE and HAVING?

Clause Applied Filters
WHERE Before GROUP BY Individual rows
HAVING After GROUP BY Aggregated groups

  sql

SELECT department_id, COUNT(*) AS emp_count
FROM employees
WHERE salary > 50000          -- Step 1: filter individual rows
GROUP BY department_id
HAVING COUNT(*) > 5;          -- Step 2: filter groups after aggregation

Rule of thumb: If you’re filtering on an aggregate function (COUNT, SUM, AVG), use HAVING. Otherwise, use WHERE.

Q24. Write a query to find the second-highest salary.

Method 1 — DENSE_RANK (Best interview answer):

  sql

WITH ranked AS (
    SELECT salary,
           DENSE_RANK() OVER (ORDER BY salary DESC) AS rnk
    FROM employees
)
SELECT salary 
FROM ranked 
WHERE rnk = 2;

Method 2 — Subquery:

  sql

SELECT MAX(salary) 
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);

Interview note: DENSE_RANK method is preferred because it’s easily extended to find the Nth highest salary by changing WHERE rnk = 2 to any N.

Q25. What is a CTE? Write an example.

A Common Table Expression (CTE) is a temporary named result set that exists only for the duration of the query. It makes complex queries easier to read and debug.

  sql

WITH high_earners AS (
    SELECT employee_name, salary, department_id
    FROM employees
    WHERE salary > 80000
),
dept_summary AS (
    SELECT department_id, AVG(salary) AS avg_salary
    FROM employees
    GROUP BY department_id
)
SELECT 
    h.employee_name,
    h.salary,
    d.avg_salary,
    d.department_id
FROM high_earners h
JOIN dept_summary d ON h.department_id = d.department_id;

When to use CTEs: Whenever you’d otherwise write deeply nested subqueries. CTEs are named, reusable, and readable.

Q26. What is the difference between DELETE, TRUNCATE, and DROP?

Command What It Does Can Rollback? WHERE Clause? Speed
DELETE Removes specific rows ✅ Yes ✅ Yes Slow (logs each row)
TRUNCATE Removes all rows, keeps table structure ❌ No ❌ No Fast
DROP Removes the entire table permanently ❌ No ❌ No Instant

  sql

DELETE FROM employees WHERE employee_id = 101;  -- remove one row
TRUNCATE TABLE employees;                         -- clear all rows, keep structure
DROP TABLE employees;                             -- delete the entire table

Q27. Find departments where average salary exceeds the overall company average.

  sql

SELECT 
    department_id,
    AVG(salary) AS dept_avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > (
    SELECT AVG(salary) FROM employees
);

Q28. Find customers who placed orders in both 2024 and 2025.

PostgreSQL / SQL Server:

  sql

SELECT customer_id
FROM orders
WHERE YEAR(order_date) = 2024
INTERSECT
SELECT customer_id
FROM orders
WHERE YEAR(order_date) = 2025;

MySQL (no INTERSECT support):

  sql

SELECT DISTINCT customer_id
FROM orders
WHERE YEAR(order_date) = 2024
  AND customer_id IN (
      SELECT customer_id 
      FROM orders 
      WHERE YEAR(order_date) = 2025
  );

Q29. What are SQL Indexes? Why do they matter for a Data Analyst?

An index is a data structure that speeds up data retrieval — like a book’s index that points you to the right page.

  sql

-- Create an index on a frequently queried column
CREATE INDEX idx_email ON employees(email);
-- Check how a query executes (performance analysis)
EXPLAIN SELECT * FROM employees WHERE email = 'user@example.com';

When indexes help: Columns used in WHERE, JOIN ON, and ORDER BY clauses; large tables with 100k+ rows.

Downside: Indexes slow down INSERT, UPDATE, and DELETE slightly because the index also updates. As a Data Analyst, understanding indexes helps you write faster queries and explain performance issues.

Q30. Find employees hired in the last 30 days along with their department.

  sql

SELECT 
    e.employee_name,
    e.hire_date,
    d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE e.hire_date >= CURRENT_DATE - INTERVAL 30 DAY
ORDER BY e.hire_date DESC;

Variation for SQL Server:

 sql

WHERE e.hire_date >= DATEADD(DAY, -30, GETDATE())
```
---

Data Analyst Salary and Career Scope in 2026

Salary in India

Experience Level Average Salary
Fresher (0 to 1 year) Rs. 3.5 to 6 LPA
Junior Analyst (1 to 3 years) Rs. 6 to 10 LPA
Mid-Level (3 to 5 years) Rs. 10 to 16 LPA
Senior Analyst (5+ years) Rs. 16 to 30 LPA

Top Companies Hiring Data Analysts

IT Giants: TCS, Infosys, Wipro, HCL, Accenture, Capgemini

Product Companies: Flipkart, Amazon, Swiggy, Zomato, PhonePe, Meesho, Razorpay

MNCs: Google, Microsoft, Deloitte, EY, PwC, McKinsey

Startups: 1,000+ funded startups across India actively hiring in 2026

Career Progression Path

Data Analyst → Senior Data Analyst → Analytics Manager → Head of Analytics → VP of Data / Chief Data Officer

 

Final Tips to Crack Your Data Analyst Interview

1. Master SQL First — It’s Non-Negotiable 95% of Data Analyst interviews test SQL. Focus on Joins, Window Functions, CTEs, and Subqueries. Practice on LeetCode (Easy + Medium), HackerRank, and StrataScratch.

2. Build 3 Real Projects — Not Just Certificates A strong portfolio with 3 projects beats a certification every single time. Companies want to see that you can actually analyze data and tell a story with it.

3. Know at Least One Visualization Tool Deeply Power BI or Tableau — pick one and go deep. Being able to build an interactive dashboard from scratch is a major differentiator.

4. Practice Case Studies Companies ask questions like: “Our user retention dropped 15% last quarter — how would you investigate?” Learn the framework: Define the problem → Identify key metrics → Explore data → Form hypotheses → Recommend action.

5. Use CrackNonTech for Structured Interview Prep CrackNonTech provides mock interviews, real-world case studies, and SQL practice sets specifically designed around what companies actually ask non-tech candidates. If you want interview coaching that understands your background, CrackNonTech is your best bet.

6. LinkedIn Is Your Job Search Engine in 2026 Post about your learning journey, share project screenshots, write short insights from your data projects. Recruiters actively look for candidates who demonstrate learning publicly.

7. Apply Volume + Quality Together Send 20+ tailored applications per week. Use referrals where possible — LinkedIn connections are gold. Don’t wait to be “ready.” Apply while learning. Interviews themselves teach you what to focus on.

Conclusion

Becoming a Data Analyst in 2026 is 100% achievable — regardless of your educational background. The path is clear: Excel → SQL → Python → Visualization → Projects → Interview Prep.

The most important step is simply to start today.

CrackNonTech makes this journey structured, practical, and non-intimidating — helping thousands of non-tech professionals land their first data role every year. From SQL basics to mock interview rounds, CrackNonTech is the guide you need to go from zero to hired.

Follow this roadmap. Complete the projects. Practice every SQL question above. And you will crack your Data Analyst interview in 2026.

 

Do the payment at the QR Code below

Submission Successful. Our Team will review it in 1 hour, and contact you.