1. SELECT — डेटा निकालना (Extract)
SELECT कमांड डेटा निकालने के लिए सबसे बेसिक और महत्वपूर्ण कमांड है। इसे सीख कर आप किसी भी टेबल से जरूरी कॉलम्स और पंक्तियाँ ले सकते हैं।
SELECT name, salary FROM employees;
Use case: रिपोर्ट के लिए कर्मचारी का नाम और वेतन निकालना।
Pro Tip: हमेशा केवल वही कॉलम SELECT करें जो जरुरी हों — इससे प्रदर्शन बेहतर रहेगा।
2. WHERE — फ़िल्टरिंग (Filter Rows)
WHERE क्लॉज़ का उपयोग रिकॉर्ड्स को फ़िल्टर करने के लिए किया जाता है — यह SELECT के साथ अक्सर लगाया जाता है।
SELECT * FROM sales WHERE region = 'North' AND order_date >= '2025-01-01';
Use case: किसी खास रीजन और समय अवधि के लिए बिक्री डेटा निकालना।
Pro Tip: इंडेक्स वाले कॉलम्स पर WHERE लगाएँ ताकि क्वेरी तेज़ चलें।
3. ORDER BY — डेटा सॉर्टिंग (Sort Results)
ORDER BY से आप परिणामों को आरोही (ASC) या अवरोही (DESC) क्रम में सॉर्ट कर सकते हैं।
SELECT product, revenue FROM sales ORDER BY revenue DESC LIMIT 10;
Use case: टॉप 10 उत्पाद जिन्हें सबसे ज्यादा राजस्व मिला।
Pro Tip: ORDER BY के साथ LIMIT डालें जब आप सिर्फ टॉप N रिजल्ट चाहिए हों — परफॉर्मेंस में मदद मिलती है।
4. GROUP BY — एग्रीगेशन (Aggregate Data)
GROUP BY का उपयोग समरी रिपोर्ट के लिए किया जाता है जैसे क्षेत्रवार कुल बिक्री निकालना।
SELECT region, SUM(sales) AS total_sales FROM sales GROUP BY region;
Use case: रीजन या श्रेणी के अनुसार कुल बिक्री निकालना।
Pro Tip: GROUP BY के साथ NULL वैल्यूज़ का ध्यान रखें — कभी-कभी उन्हें COALESCE से हैंडल करना चाहिए।
5. HAVING — एग्रीगेटेड फ़िल्टर (Filter Aggregates)
HAVING का प्रयोग GROUP BY के बाद समरी पर फ़िल्टर लगाने के लिए होता है (WHERE नहीं कर सकता)।
SELECT product, SUM(qty) FROM orders GROUP BY product HAVING SUM(qty) > 100;
Use case: उन उत्पादों को दिखाना जिनकी कुल बिक्री 100 से ऊपर है।
Pro Tip: HAVING को WHERE के बजाय तभी उपयोग करें जब कंडीशन एग्रीगेटेड वैल्यू पर हो।
6. JOIN — मल्टीपल टेबल्स जोड़ना (Combine Tables)
JOIN से आप कई टेबल्स को जोड़कर समेकित जानकारी निकाल सकते हैं — INNER, LEFT, RIGHT, FULL JOIN सामान्य प्रकार हैं।
SELECT c.name, o.amount FROM customers c JOIN orders o ON c.id = o.customer_id;
Use case: कस्टमर और उनके ऑर्डर की जानकारी एक साथ दिखाना।
Pro Tip: JOIN पर सही इंडेक्सिंग और चयनित कॉलम पर ध्यान दें — गलत JOIN से डुप्लीकेट रिकॉर्ड्स आ सकते हैं।
7. INSERT INTO — नया डेटा जोड़ना (Add Rows)
INSERT INTO से आप टेबल में नए रिकॉर्ड जोड़ते हैं — बड़े डेटा लोड के लिए BULK/Batch methods आते हैं।
INSERT INTO employees (name, salary) VALUES ('Ravi', 45000);
Use case: नए कर्मचारी का रिकॉर्ड जोड़ना।
Pro Tip: प्रॉडक्शन DB में INSERT से पहले बैकअप और ट्रांज़ैक्शन का उपयोग करें (BEGIN/COMMIT/ROLLBACK)।
8. UPDATE — डेटा संशोधित करना (Modify Rows)
UPDATE से मौजूदा रिकॉर्ड्स में परिवर्तन करते हैं — WHERE के बिना UPDATE खतरनाक हो सकता है क्योंकि यह सभी रिकॉर्ड बदल देगा।
UPDATE employees SET salary = 50000 WHERE id = 4;
Use case: किसी कर्मचारी का वेतन अपडेट करना।
Pro Tip: बड़े अपडेट्स के लिए बैच में करें और ट्रांज़ैक्शन रखें ताकि गलती होने पर रोलबैक किया जा सके।
9. DELETE — डेटा हटाना (Remove Rows)
DELETE से अनचाहे रिकॉर्ड हटाए जाते हैं — प्रोडक्शन में अक्सर soft-delete यानी status flag इस्तेमाल किया जाता है।
DELETE FROM employees WHERE id = 9;
Use case: गलत/डुप्लीकेट रिकॉर्ड हटाना।
Pro Tip: प्रोडक्शन में सीधे DELETE से बचें — पहले SELECT करके रिजल्ट्स चेक करें, या soft-delete पैटर्न अपनाएँ।
10. DISTINCT — अनोखी वैल्यू निकालना (Unique Values)
DISTINCT से आप किसी कॉलम की यूनिक वैल्यूज़ निकाल सकते हैं — यह डुप्लीकेट हटाने में सहायक है।
SELECT DISTINCT city FROM customers;
Use case: उन शहरों की लिस्ट जो आपके कस्टमर बेस में मौजूद हैं।
Pro Tip: बड़े डेटा पर DISTINCT महँगा पड़ सकता है — GROUP BY + COUNT के साथ alternative देखें।