data analytics training dehradun

टॉप 10 SQL कमांड्स — डेटा एनालिटिक्स (2025) | हिंदी गाइड

SELECT, JOIN, GROUP BY, WINDOW Functions और अन्य SQL कमांड्स का आसान हिंदी विवरण। हर कमांड के साथ Syntax और Practical Example भी दिया गया है ताकि सीखना आसान हो।

👇 नीचे दिए कार्ड्स पर क्लिक करके आप सीधे SQL कमांड के Example तक पहुंच सकते हैं।

SELECT customer_id, SUM(amount) AS total
FROM sales
WHERE sale_date >= '2024-01-01'
GROUP BY customer_id;

क्यों SQL जरूरी है — Data Analytics में (संक्षेप में)

SQL (Structured Query Language) बड़े डेटा सेट से तेज़ी से जानकारी निकालने, साफ़ करने और सारांश (aggregate) बनाने के लिए industry-standard टूल है। यह reproducible, readable और production-ready analyses के लिए बुनियादी है।

  • डेटा निकालना और फ़िल्टर करना — SELECT, WHERE
  • टेबल जोड़ना — JOIN (INNER / LEFT / RIGHT)
  • समूह और सारांश — GROUP BY, HAVING, Aggregate फ़ंक्शन्स

⏱ तेज़ Insights

सही index और optimized GROUP BY/WHERE से बड़े queries भी seconds में result दे सकते हैं।

🔁 Reproducible

Queries को version-control में रखें (git) — analysis बनाने और review करने में team को मदद मिलती है।

📘 Practical Examples

हर कमांड के साथ real-world use-case और output sample दिखाया गया है।

उदाहरण देखें

इस ब्लॉग का उपयोग कैसे करें — Top 10 SQL Commands Guide in Hindi

यह पोस्ट SQL Commands को सरल हिंदी में समझाने के लिए तैयार किया गया है — प्रत्येक कमांड के साथ Syntax, Example और Practical Use-case दिया गया है। नीचे के छोटे, interactive कार्ड्स आपको तेज़ी से पढ़ने, समझने और प्रयोग करने में मदद करेंगे।

📚

क्या सीखेंगे?

  • SQL Commands का आसान Syntax और real-world Example
  • किस स्थिति में कौन सा कमांड उपयोगी है (use-case)
  • Performance सुधारने के लिए practical tips — Index, EXPLAIN, Optimize
🎯

यह किसके लिए है?

Beginners जो SQL fundamentals सीखना चाहते हैं, students और Data Analysts जिन्हें quick reference चाहिए, तथा Developers/Engineers जो production-ready queries बनाना चाहते हैं।

⚙️

कैसे उपयोग करें?

  1. पढ़ें: कमांड का उद्देश्य और Syntax समझें।
  2. चलाएँ: Example को अपने DB में run करके output देखें।
  3. लागू करें: अपने project में adapt करें और performance जोड़कर test करें।

SEO Tip

H2/H3 में primary keyword रखें, examples को structured data (JSON-LD) में दें और code blocks को text में रखें (image न करें)।

UX Tip

हर command के पास a) short summary, b) syntax block, c) runnable example — और anchor-links दें ताकि readers jump कर सकें।

SELECT — डेटा निकालना और प्रारंभिक филь्टरिंग

SELECT किसी table से columns/rows निकालने के लिए मूलभूत SQL कमांड है। यह filter, sort, और आगे की aggregation के लिए input देता है। नीचे छोटा syntax, तुरंत चलाने योग्य example और practical tips दिए गए हैं — copy-paste के लिए optimized।

Use-case

Data preview, simple reports, debug queries


Difficulty

Beginner → Intermediate

Basic Syntax

SELECT column1, column2
FROM table_name
WHERE condition
ORDER BY column1 DESC
LIMIT 100;
      
Tip: production में SELECT * से बचें — सिर्फ required columns चुनें। LIMIT use करके first-check करो।

Quick Example (Sales)

-- कुल बिक्री प्रति ग्राहक (2025)
SELECT customer_id,
       SUM(amount) AS total_spent,
       COUNT(*) AS orders_count
FROM sales
WHERE sale_date BETWEEN '2025-01-01' AND '2025-09-30'
GROUP BY customer_id
HAVING SUM(amount) > 1000
ORDER BY total_spent DESC
LIMIT 50;
      

Performance Notes

  • WHERE clause में indexed columns का उपयोग करें।
  • ORDER BY + LIMIT के साथ proper index होने पर query तेज़ रहती है।
  • GROUP BY बड़े datasets पर costly हो सकता है — pre-aggregate tables पर विचार करें।

Common Mistakes

  • SELECT * उपयोग — unnecessary I/O बढ़ता है।
  • GROUP BY बिना aggregate के प्रयोग — ambiguous results आ सकते हैं।
  • डेटा type mismatch (string vs date) — WHERE filters fail कर सकते हैं।

Pro-tip: pages के अंदर anchor लिंक बनाएं — उदाहरण: #cmd-select ताकि readers सीधे इस section पर jump कर सकें।

🔁 Overview पर जाएँ

Accessibility: code blocks में keyboard-focus की सुविधा रखें और semantic headings उपयोग करें — screen reader friendly रखने से SEO में भी मदद मिलती है।

JOIN — कई टेबल्स से डेटा जोड़ना

JOIN SQL की सबसे power-packed command है, जो दो या अधिक tables को common key (जैसे customer_id) के आधार पर जोड़ती है। Data Analytics में यह relationships निकालने और combined reports बनाने के लिए सबसे ज़्यादा उपयोगी है।

Basic Syntax

SELECT a.customer_id, a.order_id, b.payment_date
FROM orders a
INNER JOIN payments b
ON a.order_id = b.order_id;
      

Quick Example (Orders + Customers)

SELECT c.customer_name, o.order_date, o.total_amount
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id
WHERE o.order_date >= '2025-01-01'
ORDER BY o.total_amount DESC;
      

क्यों SQL Commands सीखना ज़रूरी है?

SQL डेटा एनालिटिक्स की backbone है। यह आपको बड़े डेटा से insights निकालने, business problems solve करने और performance optimize करने में मदद करता है।

🔎 Data Extraction

SELECT और WHERE commands आपको बड़े datasets से relevant डेटा निकालने में मदद करते हैं।

🤝 Relationships

JOIN commands आपको multiple tables connect करके meaningful insights निकालने की सुविधा देते हैं।

📊 Aggregation

GROUP BY और Aggregate functions से summaries और reports generate करना आसान हो जाता है।

Top 10 SQL Commands — तेज़ और practical (Quick Links)

नीचे हर कमांड के लिए anchor कार्ड हैं — क्लिक करके सीधे detailed example पर जाएँ। हर कार्ड में छोटा syntax snippet भी दिया गया है।

1. SELECT — डेटा निकालें

किसी तालिका से columns चुनने के लिए। analytics में यह सबसे बेसिक और सबसे ज़रूरी।

SELECT name, amount
FROM sales;

2. WHERE — फिल्टर लगाएं

Rows को condition के आधार पर फ़िल्टर करें — जरूरी जब large datasets में targeted analysis करना हो।

SELECT * FROM sales
WHERE sale_date >= '2024-01-01';

3. JOIN — तालिकाओं को जोड़ें

Different tables से related data combine करने के लिए — INNER, LEFT, RIGHT, FULL इत्यादि।

SELECT c.name, s.amount
FROM customers c
JOIN sales s ON c.id = s.customer_id;

4. GROUP BY — aggregation

Data summarization — totals, averages और अन्य aggregate metrics निकालने के लिए।

SELECT product_id, SUM(amount) total
FROM sales
GROUP BY product_id;

5. HAVING — समूहों पर condition

GROUP BY के बाद समूहों पर filter लगाना — helpful for top-n groups, thresholds आदि।

SELECT product_id, SUM(amount) total
FROM sales
GROUP BY product_id
HAVING SUM(amount) > 10000;

6. ORDER BY — परिणाम sort करें

Reports में sorted lists चाहिए हों तो ORDER BY का उपयोग करें — ASC/DESC के साथ।

SELECT name, amount
FROM sales
ORDER BY amount DESC;

7. LIMIT / FETCH — top N rows

Resultset को small sample में लाने के लिए — debugging और dashboards में उपयोगी।

SELECT * FROM sales
ORDER BY amount DESC
LIMIT 10;

8. WINDOW (OVER) — rolling / ranking

Running totals, row_number, moving averages — analytics में powerful trends निकालते हैं।

SELECT customer_id, amount,
       SUM(amount) OVER (PARTITION BY customer_id ORDER BY sale_date) cumulative
FROM sales;

9. WITH / CTE — readable subqueries

Complex queries को छोटे logical parts में विभक्त करें — readability और reuse के लिए बेहतरीन।

WITH monthly AS (
  SELECT DATE_TRUNC('month', sale_date) m, SUM(amount) total
  FROM sales GROUP BY 1
)
SELECT * FROM monthly;

10. INDEX / EXPLAIN — performance

Large queries को optimize करने के लिए EXPLAIN और proper indexes जरूरी होते हैं।

-- Create index
CREATE INDEX idx_sales_date ON sales(sale_date);

-- Check plan
EXPLAIN ANALYZE SELECT * FROM sales WHERE sale_date >= '2024-01-01';

इन cards को detail sections से link करें (उदाहरण: #cmd-select) — users सीधे example पर jump कर सकें।

🔁 Restart Overview

WHERE — डेटा फ़िल्टर करना (Targeted Queries)

WHERE clause rows को condition के आधार पर filter करता है — large tables में सही filters लगाना performance और accuracy दोनों के लिए ज़रूरी है।

Anchor: #cmd-where

WHERE कब और क्यों उपयोग करें?

जब आप केवल उन rows पर काम करना चाहते हैं जो किसी शर्त को पूरा करती हों — उदाहरण: date range, status, region, या numeric thresholds।

Basic Syntax (सटीक और आसान)

SELECT column1, column2
FROM table_name
WHERE condition;

Practical Examples (Real-world use)

A — Date range filter
SELECT order_id, sale_date, amount
FROM sales
WHERE sale_date BETWEEN '2025-01-01' AND '2025-06-30';

Quarterly reports या seasonal analysis के लिए यह pattern बहुत common है।

B — Multiple conditions (AND / OR)
SELECT customer_id, amount, region
FROM sales
WHERE region = 'North' AND amount > 1000;

Multiple filters combine करके targeted cohort निकालें।

C — Pattern matching (LIKE)
SELECT email FROM users
WHERE email LIKE '%@gmail.com';

Contacts cleanup या domain-specific analysis के लिए उपयोगी।

सावधानियाँ (Performance Pitfalls)

  • Functions on indexed columns (उदा. DATE(col)) index को bypass कर सकते हैं — सावधानी से use करें।
  • नॉन-Selective conditions से full table scan हो सकती है — cardinality देखें।
  • वर्ल्ड wide wildcards (LIKE '%term%') expensive होते हैं।

छोटा FAQ (H3 — SEO friendly)

क्या WHERE में NULL की जाँच चाहिए?
हाँ — NULL values explicit check करें: WHERE col IS NOT NULL
क्या indexed column हमेशा तेज़ होता है?
ज़्यादातर हाँ — पर अगर query में function या low-selectivity filter हो तो index उपयोग नहीं होगा।
Next: JOIN →

Tip: preview on mobile and desktop — font-size ~15–16px for body keeps readability high.

JOIN — तालिकाओं को जोड़ना (Relational Power)

JOIN SQL की backbone है — यह multiple tables से related data combine करने देता है। Data Analytics में joins का सही उपयोग करना insights की quality और speed दोनों तय करता है।

Anchor: #cmd-join

JOIN क्यों ज़रूरी है?

  • Customer + Sales डेटा combine करना
  • Orders के साथ Product details जोड़ना
  • Multi-table reports और dashboards बनाना

Basic Syntax (INNER JOIN Example)

SELECT c.customer_name, s.amount
FROM customers c
INNER JOIN sales s
  ON c.id = s.customer_id;

Practical Examples

A — LEFT JOIN (सभी customers + optional sales)
SELECT c.customer_name, s.amount
FROM customers c
LEFT JOIN sales s
  ON c.id = s.customer_id;

सभी customers दिखेंगे, भले ही उनकी कोई sales न हो।

B — Aggregated JOIN
SELECT c.region, SUM(s.amount) total_sales
FROM customers c
JOIN sales s ON c.id = s.customer_id
GROUP BY c.region;

Region-wise total sales निकालने का efficient तरीका।

Common Mistakes (गलतियाँ)

  • JOIN condition भूल जाना → Cartesian Product (बहुत बड़ी output)।
  • Aliasing ना करना → query unreadable हो जाती है।
  • Unnecessary OUTER JOIN → performance issues।
Next: GROUP BY →

Tip: JOINs में हमेशा EXPLAIN plan देखें — performance surprises से बचने के लिए।

GROUP BY — डेटा का सारांश और aggregation

GROUP BY से आप बड़े dataset को meaningful groups में बदलकर totals, averages, और अन्य metrics निकाल सकते हैं — reporting और KPI निर्माण के लिए अनिवार्य tool।

Anchor: #cmd-groupby

कब और क्यों उपयोग करें?

  • Daily/Monthly/Region-wise totals चाहिए हों।
  • KPI (उदा. monthly revenue, avg order value) बनाने के लिए।
  • Large tables से summarized reports तैयार करने के लिए।

Basic Syntax + Example

-- Sales को product के हिसाब से summarize करना
SELECT product_id,
       COUNT(*) AS orders_count,
       SUM(amount) AS total_sales,
       AVG(amount) AS avg_order
FROM sales
WHERE sale_date >= '2024-01-01'
GROUP BY product_id
ORDER BY total_sales DESC;

Advanced Patterns (ROLLUP, CUBE, GROUPING SETS)

ROLLUP — hierarchical totals
SELECT region, product_id, SUM(amount) total
FROM sales
GROUP BY ROLLUP(region, product_id);

Region के total और overall total दोनों एक query में मिलता है।

GROUPING SETS — custom group combinations
SELECT region, product_id, SUM(amount) total
FROM sales
GROUP BY GROUPING SETS ((region, product_id),(region),(product_id));

एक से ज़्यादा aggregation combos efficient तरीके से लें।

सामान्य pitfalls और performance tips

  • GROUP BY पर बड़े text columns न रखें — पहले pre-aggregate या hash करें।
  • Indexes से GROUP BY तेज़ नहीं होता; proper partitioning/summary tables बेहतर।
  • HAVING से पहले WHERE में filters apply करें — unnecessary rows कम होंगे।

छोटे FAQ (SEO snippets)

GROUP BY में कौन से columns रखें?
वो columns जो आप aggregate करना चाहते हैं या report grouping के लिए logical हैं — numeric aggregates के साथ group करें।
GROUP BY vs window functions?
GROUP BY aggregated rows में collapse करता है; window functions हर row पर group context देते हैं (running totals, ranks)।
← Back to Quick Links

Tip: हर aggregation के साथ example output का छोटा snippet दिखाएँ — users और search engines दोनों को पसंद आता है।

HAVING — समूहों पर फ़िल्टर (Group Filters)

HAVING clause का उपयोग GROUP BY के बाद aggregated results पर condition लगाने के लिए किया जाता है। यह आपको summary tables से meaningful subsets निकालने में मदद करता है — जैसे high-value customers या top-performing products।

Anchor: #cmd-having

Basic Syntax

SELECT column, SUM(amount) AS total
FROM sales
GROUP BY column
HAVING SUM(amount) > 10000;

यहाँ हम सिर्फ उन्हीं groups को रखते हैं जिनका total 10,000 से अधिक है।

Practical Example

Top customers by sales
SELECT customer_id, SUM(amount) total_sales
FROM sales
GROUP BY customer_id
HAVING SUM(amount) > 5000
ORDER BY total_sales DESC;

सिर्फ वही customers दिखेंगे जिनकी कुल बिक्री 5000 से अधिक है।

सामान्य गलतियाँ

  • HAVING का उपयोग row-level filters के लिए करना (इसके लिए WHERE clause इस्तेमाल करें)।
  • बिना index वाले बड़े datasets पर heavy aggregates लगाना।
  • WHERE और HAVING में एक ही condition दोहराना।

छोटे FAQ

WHERE vs HAVING में अंतर?
WHERE row-level filter के लिए है; HAVING aggregated groups पर filter लगाने के लिए।
HAVING बिना GROUP BY के?
हाँ, technically संभव है, पर rare use-cases में ही प्रयोग करें।
← Back to Quick Links

Tip: HAVING examples को अक्सर interview में पूछा जाता है — इस section को bookmark करें।

ORDER BY — परिणामों को Sort करें

ORDER BY clause किसी भी query के परिणामों को Ascending (ASC) या Descending (DESC) order में sort करने के लिए उपयोग किया जाता है। Reports, dashboards और ranking-based insights के लिए यह सबसे ज़्यादा इस्तेमाल होता है।

Anchor: #cmd-orderby

Basic Syntax

SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;

आप एक या एक से अधिक columns पर sort कर सकते हैं — ASC (default) या DESC।

Practical Examples

Top 10 highest sales
SELECT product_id, amount
FROM sales
ORDER BY amount DESC
LIMIT 10;

बिक्री राशि के आधार पर शीर्ष 10 products दिखेंगे।

Sort by name + sales
SELECT customer_name, SUM(amount) total
FROM sales
GROUP BY customer_name
ORDER BY customer_name ASC, total DESC;

पहले नाम alphabetically और फिर total sales descending order में।

सामान्य गलतियाँ

  • SELECT * और ORDER BY — जब unnecessary columns शामिल हों।
  • ORDER BY non-indexed columns पर — performance धीमा हो सकता है।
  • Text columns पर numeric sort बिना CAST किए।

छोटे FAQ

Default order क्या है?
Default ASC होता है (ascending)।
Multiple columns पर कैसे sort करें?
Comma-separated columns दें — पहला primary, दूसरा secondary sorting के लिए।
← Back to Quick Links

Tip: ORDER BY interview में अक्सर पूछा जाता है — especially performance tuning के साथ।

LIMIT / FETCH — Top-N और Sampling के लिए

LIMIT या FETCH clause का उपयोग resultset को छोटा करने के लिए किया जाता है — debugging, dashboards, और Top-N रिपोर्ट्स के लिए बेहद उपयोगी। अलग-अलग RDBMS में syntax थोड़ा बदल सकता है (Postgres/MySQL vs SQL Server) — दोनों variants नीचे दिए हैं।

Anchor: #cmd-limit

Syntax (Common Variants)

Postgres / MySQL
SELECT * FROM sales
ORDER BY amount DESC
LIMIT 10 OFFSET 0;
SQL Server (FETCH)
SELECT * FROM sales
ORDER BY amount DESC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;

ध्यान दें: OFFSET के बिना LIMIT/FETCH का उपयोग अक्सर predictable रहता है — पर pagination में OFFSET ज़रूरी होता है।

Practical Examples — उपयोगी Patterns

Top 5 Customers by Revenue
SELECT customer_id, SUM(amount) total
FROM sales
GROUP BY customer_id
ORDER BY total DESC
LIMIT 5;
Paginated Results (page 3, 20 per page)
-- page_number = 3, page_size = 20
OFFSET 40 LIMIT 20;  -- Postgres/MySQL
-- or SQL Server:
OFFSET 40 ROWS FETCH NEXT 20 ROWS ONLY;

Best Practices

  • Always include ORDER BY when using LIMIT/FETCH for reproducible Top-N results.
  • Poor offset pagination (large OFFSET) is slow — prefer keyset pagination for large tables.
  • Use LIMIT during development to avoid heavy queries on production datasets.

Short FAQ

OFFSET large होने पर क्या करें?
Keyset pagination (WHERE id < last_id ORDER BY id DESC LIMIT n) का उपयोग करें — यह faster और scalable है।
← Back to Quick Links

Tip: Live demos के लिए LIMIT रखें ताकि readers तुरंत output देख सकें।

WITH / CTE — पढ़ने में आसान SQL

CTE (Common Table Expression) जटिल queries को छोटे logical blocks में बदल देता है — जिससे readability और debugging आसान हो जाती है।

WITH sales_monthly AS (
  SELECT DATE_TRUNC('month', sale_date) AS month,
         SUM(amount) total
  FROM sales
  GROUP BY 1
)
SELECT * FROM sales_monthly;

ORDER BY — परिणाम sort करें

ORDER BY का उपयोग query results को ascending (ASC) या descending (DESC) order में लाने के लिए किया जाता है। Reporting और dashboards में यह सबसे ज़्यादा helpful होता है।

Example — Highest Sales पहले

SELECT customer_id, amount
FROM sales
ORDER BY amount DESC;

यह query सभी customers को उनके sales amount के हिसाब से descending order में दिखाएगी।

Quick Tips

  • Default order ASC होता है, DESC लिखना पड़ेगा descending के लिए।
  • Multiple columns पर भी ORDER BY कर सकते हैं।
  • Indexes use करें तो sorting तेज़ हो जाती है।

🏆 Practice Section — Try Yourself SQL Queries

नीचे दिए गए आसान SQL Queries को खुद ट्राई करें। Example datasets: Employees, Orders, Products

1) सभी Employees दिखाइए

SELECT * FROM Employees;

2) Employees के नाम और Department

SELECT EmployeeID, FirstName, LastName, Department 
FROM Employees;

3) केवल Analytics Department वाले Employees

SELECT FirstName, LastName, Department, Salary
FROM Employees
WHERE Department = 'Analytics';

4) Products की कुल Sales

SELECT p.ProductName, SUM(o.SalesAmount) AS TotalSales
FROM Products p
JOIN Orders o ON p.ProductID = o.ProductID
GROUP BY p.ProductName;

5) ₹1000 से ज्यादा Sales वाले Products

SELECT p.ProductName, SUM(o.SalesAmount) AS TotalSales
FROM Products p
JOIN Orders o ON p.ProductID = o.ProductID
GROUP BY p.ProductName
HAVING SUM(o.SalesAmount) > 1000;

👉 Pro Tip: इन Queries को चलाने के लिए पहले Employees, Orders, Products tables बनाइए। (चाहें तो मैं आपके लिए INSERT sample data भी बना दूँ)

🚀 SQL Mastery से Data Analytics Career की शुरुआत करें

अब जब आपने SQL Commands सीख लिए हैं, तो इन्हें Real-World Data Analytics Projects में आज़माइए। Vista Academy में हम आपको SQL, Excel, Python और Power BI से Job-Ready Data Analyst बनने में मदद करते हैं।

🎯 Join Our Data Analytics Course
Vista Academy – 316/336, Park Rd, Laxman Chowk, Dehradun – 248001
📞 +91 94117 78145 | 📧 thevistaacademy@gmail.com | 💬 WhatsApp
💬 Chat on WhatsApp: Ask About Our Courses