FROM स्टेटमेंट में सबक्वेरीज़

SQL में Data Manipulation

Mona Khalil

Data Scientist, Greenhouse Software

FROM में सबक्वेरीज़

  • अपने डेटा को पुनर्संरचित और ट्रांसफॉर्म करें
    • चुनने से पहले long से wide में ट्रांसफॉर्म करें
    • पहले से प्री-फिल्टर करें
  • aggregates के ऊपर aggregates निकालें
    • "किस 3 टीमों के home goals का औसत सबसे अधिक है?"
      1. हर टीम के लिए AVG निकालें
      2. AVG के टॉप 3 मान लें
SQL में Data Manipulation

FROM सबक्वेरीज़...

SELECT
  t.team_long_name AS team,
  AVG(m.home_goal) AS home_avg
FROM match AS m
LEFT JOIN team AS t
ON m.hometeam_id = t.team_api_id
WHERE season = '2011/2012'
GROUP BY team;
| team                 | home_avg         |
|----------------------|------------------|
| 1. FC Köln           | 1.13725490196078 |
| 1. FC Nürnberg       | 1.27058823529412 |
| 1. FSV Mainz 05      | 1.43697478991597 |
| AC Ajaccio           | 1.12280701754386 |
SQL में Data Manipulation

...मुख्य क्वेरी तक!


FROM (SELECT
          t.team_long_name AS team,
          AVG(m.home_goal) AS home_avg
      FROM match AS m
      LEFT JOIN team AS t
      ON m.hometeam_id = t.team_api_id
      WHERE season = '2011/2012'
      GROUP BY team)
SQL में Data Manipulation

...मुख्य क्वेरी तक!


FROM (SELECT
          t.team_long_name AS team,
          AVG(m.home_goal) AS home_avg
      FROM match AS m
      LEFT JOIN team AS t
      ON m.hometeam_id = t.team_api_id
      WHERE season = '2011/2012'
      GROUP BY team) AS subquery
SQL में Data Manipulation

...मुख्य क्वेरी तक!

SELECT team, home_avg
FROM (SELECT
          t.team_long_name AS team,
          AVG(m.home_goal) AS home_avg
      FROM match AS m
      LEFT JOIN team AS t
      ON m.hometeam_id = t.team_api_id
      WHERE season = '2011/2012'
      GROUP BY team) AS subquery
SQL में Data Manipulation

...मुख्य क्वेरी तक!

SELECT team, home_avg
FROM (SELECT
          t.team_long_name AS team,
          AVG(m.home_goal) AS home_avg
      FROM match AS m
      LEFT JOIN team AS t
      ON m.hometeam_id = t.team_api_id
      WHERE season = '2011/2012'
      GROUP BY team) AS subquery
ORDER BY home_avg DESC
LIMIT 3;
| team           | home_avg |
|----------------|----------|
| FC Barcelona   | 3.8421   |
| Real Madrid CF | 3.6842   |
| PSV            | 3.3529   |
SQL में Data Manipulation

याद रखने योग्य बातें

  • आप एक ही FROM स्टेटमेंट में कई सबक्वेरीज़ बना सकते हैं

    • उन्हें alias दें!
    • उन्हें join करें!
  • आप FROM में किसी टेबल से सबक्वेरी join कर सकते हैं

    • दोनों टेबल में joining कॉलम रखें!
SQL में Data Manipulation

अभ्यास करते हैं!

SQL में Data Manipulation

Preparing Video For Download...