TheHingineer

  • DBMS


  • DBMS Part-1

  • DBMS Part-2

  • DBMS Part-3

  • DBMS Part-4

  • DBMS Part-5

  •  Complex Queries in SQL 


     Complex Query kya hoti hai?

    Complex Query woh hoti hai jo basic SELECT se zyada advance ho. Isme hum:

    • -> Multiple tables ka use karte hain (JOINs)

    • -> Queries ke andar queries (Subqueries)

    • -> Grouping aur filtering (GROUP BY, HAVING)

    • -> Data merge karte hain (UNION)

    • -> Ya phir conditions lagate hain (CASE)

     Complex queries se hum real-life jaise problems solve kar sakte hain jahan simple query kaam nahi karti.

     Complex Queries ke Main Parts

    Chaliye dekhte hain kya-kya cheezein ek complex query banati hain:

    1. JOIN

    Do ya zyada tables ka data jodne ke liye.

    2. Subquery (Nested Query)

    Ek query ke andar doosri query.

    3. Aggregate Functions

    Jaise SUM(), AVG(), COUNT() ke saath GROUP BY.

    4. Set Operators

    Jaise UNION, INTERSECT, EXCEPT.

     Example Tables

    Students Table

    StudentIDNameAgeDeptID
    1Riya20101
    2Aman21102
    3Nidhi22103

    Departments Table

    DeptIDDeptName
    101Computer Sci
    102Mechanical
    103Electrical

     Example 1: JOIN ka Use

    Q: Har student ka naam aur uska department naam chahiye.

    SELECT Students.Name, Departments.DeptName
    FROM Students
    JOIN Departments ON Students.DeptID = Departments.DeptID;
     

    Output:

    NameDeptName
    RiyaComputer Sci
    AmanMechanical
    NidhiElectrical

     Yahan JOIN se dono tables ka data joda gaya hai.

     Example 2: Subquery ka Use

    Q: Aise students jinki age average se zyada ho.

    SELECT Name, Age
    FROM Students
    WHERE Age > (
    SELECT AVG(Age)
    FROM Students
    );
     

    Agar average age 21 hai to output:

    NameAge
    Nidhi22

     Yahan andar wali query AVG(Age) nikaal rahi hai.

     Example 3: GROUP BY + HAVING

    Q: Har department mein kitne students hain, sirf wahi dikhayein jahan count 1 se zyada ho.

    SELECT DeptID, COUNT(*) AS StudentCount
    FROM Students
    GROUP BY DeptID
    HAVING COUNT(*) > 1;
     

     GROUP BY group banata hai aur HAVING us par condition lagata hai.

     Example 4: UNION ka Use

    Q: Students aur departments ke naam ek hi column mein chahiye.

    SELECT Name AS Info
    FROM Students
    UNION
    SELECT DeptName AS Info
    FROM Departments;
     

     UNION se dono results combine ho jaate hain (duplicate hata ke).

     Example 5: CASE Statement

    Q: Har student ke age group ko category mein dikhana hai.

    SELECT Name,
    CASE
    WHEN Age < 20 THEN 'Teen'
    WHEN Age BETWEEN 20 AND 22 THEN 'Young Adult'
    ELSE 'Adult'
    END AS AgeGroup
    FROM Students;
     

     CASE conditional logic ke liye use hota hai.


     Complex Queries ke Components Summary

    FeatureUse Karne Ka Reason
    JOINMultiple tables ka data jodne ke liye
    SubqueryQuery ke andar query use karne ke liye
    GROUP BYData ko group karne ke liye
    HAVINGGrouped data pe filter lagane ke liye
    UNIONMultiple results ko combine karne ke liye
    CASEConditional values dene ke liye

     Tips for Students

    • -> Pehle simple query likho

    • -> Complex query ko steps mein socho

    • -> AS (alias) ka use karo clarity ke liye

    • -> Practice karo real examples par

    Scroll to Top