top of page

SELECT statements that are described in (FROM, WHERE, GROUP BY, HAVING, ORDER BY)

  • Writer: Siddharth Sharma
    Siddharth Sharma
  • Mar 11
  • 3 min read

PART 1: The SELECT Statement (डेटा खोजना / DQL)

SELECT स्टेटमेंट का उपयोग डेटाबेस से डेटा निकालने (Retrieve) के लिए किया जाता है। इसे Data Query Language (DQL) का हिस्सा माना जाता है। एक पूरी SELECT क्वेरी में कई Clauses (खंड) होते हैं, जो यह तय करते हैं कि डेटा कैसे निकाला जाएगा, कैसे फ़िल्टर होगा और कैसे दिखाई देगा।

एक पूर्ण SELECT क्वेरी का सिंटैक्स (Syntax) इस क्रम में होता है:

SQL

SELECT column_names
FROM table_name
WHERE condition
GROUP BY column_names
HAVING condition
ORDER BY column_names;

आइए इन सभी क्लॉज़ (Clauses) को एक-एक करके समझते हैं:

The SELECT Statement (डेटा खोजना / DQL)

1. SELECT & FROM Clause

  • कार्य (Function): SELECT यह बताता है कि आपको कौन-कौन से Columns देखने हैं, और FROM यह बताता है कि वे कॉलम्स किस Table में मौजूद हैं।

  • Example:

    SQL

    -- सभी कॉलम्स देखने के लिए (*) का उपयोग करें: SELECT * FROM Employee; -- केवल विशिष्ट कॉलम्स देखने के लिए: SELECT Emp_Name, Salary FROM Employee;


2. WHERE Clause

  • कार्य (Function): इसका उपयोग Rows (Tuples) को फ़िल्टर करने के लिए किया जाता है। यह केवल उन्हीं रिकॉर्ड्स को आउटपुट में लाता है जो दी गई शर्त (Condition) को पूरा करते हैं।

  • Example: उन एम्प्लॉइज का नाम खोजना जिनकी सैलरी 50,000 से ज्यादा है:

    SQL

    SELECT Emp_Name FROM Employee WHERE Salary > 50000;


3. GROUP BY Clause

  • कार्य (Function): जब हमें एक जैसी वैल्यूज़ (Identical values) वाले डेटा का समूह (Group) बनाना होता है, तब इसका उपयोग होता है। इसका इस्तेमाल अक्सर Aggregate Functions (COUNT(), MAX(), MIN(), SUM(), AVG()) के साथ किया जाता है।

  • Example: प्रत्येक डिपार्टमेंट (Department) में कितने एम्प्लॉई काम करते हैं, यह गिनने के लिए:

    SQL

SELECT Department, COUNT(Emp_ID) FROM Employee GROUP BY Department;

4. HAVING Clause

  • कार्य (Function): यह WHERE क्लॉज़ की तरह ही फ़िल्टरिंग का काम करता है, लेकिन WHERE क्लॉज़ अकेले रोज़ (Individual rows) पर लागू होता है, जबकि HAVING क्लॉज़ Groups (जो GROUP BY से बने हैं) पर लागू होता है। इसमें Aggregate Functions का इस्तेमाल किया जा सकता है।

  • Example: केवल उन डिपार्टमेंट्स को देखना जिनमें 5 से अधिक एम्प्लॉई हैं:

    SQL

SELECT Department, COUNT(Emp_ID) FROM Employee GROUP BY Department HAVING COUNT(Emp_ID) > 5;

5. ORDER BY Clause

  • कार्य (Function): इसका उपयोग रिजल्ट को किसी विशिष्ट कॉलम के आधार पर Ascending (बढ़ते क्रम - ASC) या Descending (घटते क्रम - DESC) में सॉर्ट (Sort) करने के लिए किया जाता है। बाय डिफ़ॉल्ट यह Ascending ऑर्डर में सॉर्ट करता है।

  • Example: एम्प्लॉइज की लिस्ट को सैलरी के घटते क्रम (सबसे ज्यादा सैलरी वाला सबसे ऊपर) में देखने के लिए:

SELECT Emp_Name, Salary FROM Employee ORDER BY Salary DESC;

PART 2: Data Manipulation Commands (DML)

इन कमांड्स का उपयोग टेबल के अंदर मौजूद वास्तविक डेटा (Records/Rows) को डालने, बदलने या मिटाने के लिए किया जाता है।



1. INSERT Statement

  • कार्य (Function): टेबल में एक नया रिकॉर्ड (नई Row) डालने (Insert) के लिए।

  • Syntax & Example:

    SQL

    -- तरीका 1: यदि आप सभी कॉलम्स में डेटा डाल रहे हैं: INSERT INTO Employee VALUES (101, 'Rohan', 'IT', 60000); -- तरीका 2: यदि आप केवल कुछ विशिष्ट कॉलम्स में डेटा डाल रहे हैं: INSERT INTO Employee (Emp_ID, Emp_Name) VALUES (102, 'Priya');


2. UPDATE Statement

  • कार्य (Function): टेबल में पहले से मौजूद किसी रिकॉर्ड के डेटा को बदलने (Modify) के लिए।

  • चेतावनी: इसके साथ हमेशा WHERE क्लॉज़ का उपयोग करना चाहिए, अन्यथा टेबल का पूरा डेटा अपडेट हो जाएगा।

  • Syntax & Example: एम्प्लॉई 'Rohan' की सैलरी बढ़ाकर 65000 करने के लिए:

    SQL

    UPDATE Employee SET Salary = 65000  WHERE Emp_Name = 'Rohan';


3. DELETE Statement

  • कार्य (Function): टेबल से एक या अधिक मौजूदा रिकॉर्ड्स (Rows) को पूरी तरह से मिटाने के लिए। (यह टेबल के स्ट्रक्चर को नहीं मिटाता, सिर्फ अंदर का डेटा मिटाता है)।

  • चेतावनी: इसके साथ भी WHERE क्लॉज़ लगाना ज़रूरी है, वर्ना टेबल पूरी तरह खाली हो जाएगी।

  • Syntax & Example: उस एम्प्लॉई का डेटा डिलीट करना जिसका ID 102 है:

    SQL

    DELETE FROM Employee WHERE Emp_ID = 102;


4. REPLACE Statement (MySQL Specific)

  • कार्य (Function): यह MySQL का एक विशेष कमांड है जो INSERT और UPDATE दोनों का काम करता है।

    • यदि आप जो डेटा डाल रहे हैं उसकी Primary Key टेबल में पहले से मौजूद नहीं है, तो यह साधारण INSERT की तरह काम करता है।

    • यदि Primary Key पहले से मौजूद है, तो यह पुराने रिकॉर्ड को DELETE कर देता है और उसकी जगह नया रिकॉर्ड INSERT कर देता है (यानी Replace कर देता है)।


  • Syntax & Example:

    SQL

    -- यदि 101 ID पहले से है, तो पुराना रिकॉर्ड हटेगा और यह नया रिकॉर्ड आ जाएगा। REPLACE INTO Employee (Emp_ID, Emp_Name, Department) VALUES (101, 'Rahul', 'HR');


Summary Table (त्वरित सारांश)

SQL Command / Clause

उपयोग (Use)

उदाहरण (Example Focus)

SELECT

डेटा देखने/निकालने के लिए।

SELECT Name FROM...

FROM

सोर्स टेबल बताने के लिए।

...FROM Student...

WHERE

रोज़ (Rows) को फ़िल्टर करने के लिए।

...WHERE Age > 18...

GROUP BY

डेटा का समूह (Group) बनाने के लिए।

...GROUP BY City...

HAVING

Groups को फ़िल्टर करने के लिए।

...HAVING COUNT(*) > 2...

ORDER BY

डेटा को सॉर्ट (A to Z) करने के लिए।

...ORDER BY Name ASC;

INSERT

नया डेटा (Row) जोड़ने के लिए।

INSERT INTO Table VALUES...

UPDATE

मौजूदा डेटा बदलने के लिए।

UPDATE Table SET...

DELETE

मौजूदा डेटा (Row) मिटाने के लिए।

DELETE FROM Table WHERE...

REPLACE

मौजूद है तो बदलें, नहीं तो नया डालें।

REPLACE INTO Table VALUES...


 
 
 

Comments


bottom of page