Sisäkkäisten Alikyselyjen Käyttö From-Osiossa
Sisäinen alikysely luo taulun, jonka kanssa voimme suorittaa operaatioita ulommassa kyselyssä.
Tästä voimme päätellä, että voimme myös käyttää sisäistä kyselyä FROM-osiossa valitaksemme tietoja tästä taulusta.
Tarkastellaan esimerkkiä, jossa meidän täytyy käsitellä employees-taulun rivejä, joiden salary on tietyn arvon yläpuolella. Mutta WHERE-ehdon sijaan käytämme sisäistä kyselyä:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Olemme luoneet uuden taulun sisäisellä alikyselyllä, jonka kanssa voimme työskennellä ja kerätä tietoa.
Huomio
Huomaa, että tällaiselle taululle on välttämätöntä antaa aliaksen.
Milloin tämä voi olla hyödyllistä?
Tällainen kysely on erittäin luettava; joskus se voi korvata WHERE-lauseen.
Lisäksi, jos tarvitsee käsitellä ei koko taulua, vaan vain suodatettua osaa, sisäinen alikysely FROM-osiossa voi olla erittäin kätevä.
Swipe to start coding
Tehtävänäsi on hakea keskimääräinen budjetti (budget-sarake) kaikille johtotason osastoille department-taulusta. Käytä sisäkkäistä alikyselyä FROM-osiossa suodattaaksesi vain johtotason osastot. Käytä myös aliasta manager_departments tälle taululle, jotta tehtävä tarkistetaan oikein.
Vastauksessa tulee olla vain yksi sarake, average_budget. Tämä on aliaksena aggregaattifunktiolle AVG().
Huomio
Tämän tehtävän voisi ratkaista myös käyttämällä
WHERE-ehtoa, mutta tässä käytetään sisäkkäistä kyselyä harjoittelun vuoksi, mikä on hyödyllistä monimutkaisempien ongelmien ratkaisemisessa tulevaisuudessa.
Lyhyet ohjeet
- Hae
budget-sarakkeen keskiarvo. - Anna tälle sarakkeelle alias
average_budget. - Kirjoita sisäkkäinen kysely
FROM-osioon. - Sisäkkäisessä kyselyssä valitse kaikki sarakkeet
department-taulusta. - Sisäkkäisessä kyselyssä käytä
WHERE-ehtoa, jossatype = 'manager'. - Anna sisäkkäiselle kyselylle alias
manager_departments.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you give more examples of using inner subqueries in the FROM clause?
When should I use an inner subquery instead of a WHERE clause?
What are some common mistakes to avoid when using subqueries in the FROM clause?
Mahtavaa!
Completion arvosana parantunut arvoon 4
Sisäkkäisten Alikyselyjen Käyttö From-Osiossa
Pyyhkäise näyttääksesi valikon
Sisäinen alikysely luo taulun, jonka kanssa voimme suorittaa operaatioita ulommassa kyselyssä.
Tästä voimme päätellä, että voimme myös käyttää sisäistä kyselyä FROM-osiossa valitaksemme tietoja tästä taulusta.
Tarkastellaan esimerkkiä, jossa meidän täytyy käsitellä employees-taulun rivejä, joiden salary on tietyn arvon yläpuolella. Mutta WHERE-ehdon sijaan käytämme sisäistä kyselyä:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Olemme luoneet uuden taulun sisäisellä alikyselyllä, jonka kanssa voimme työskennellä ja kerätä tietoa.
Huomio
Huomaa, että tällaiselle taululle on välttämätöntä antaa aliaksen.
Milloin tämä voi olla hyödyllistä?
Tällainen kysely on erittäin luettava; joskus se voi korvata WHERE-lauseen.
Lisäksi, jos tarvitsee käsitellä ei koko taulua, vaan vain suodatettua osaa, sisäinen alikysely FROM-osiossa voi olla erittäin kätevä.
Swipe to start coding
Tehtävänäsi on hakea keskimääräinen budjetti (budget-sarake) kaikille johtotason osastoille department-taulusta. Käytä sisäkkäistä alikyselyä FROM-osiossa suodattaaksesi vain johtotason osastot. Käytä myös aliasta manager_departments tälle taululle, jotta tehtävä tarkistetaan oikein.
Vastauksessa tulee olla vain yksi sarake, average_budget. Tämä on aliaksena aggregaattifunktiolle AVG().
Huomio
Tämän tehtävän voisi ratkaista myös käyttämällä
WHERE-ehtoa, mutta tässä käytetään sisäkkäistä kyselyä harjoittelun vuoksi, mikä on hyödyllistä monimutkaisempien ongelmien ratkaisemisessa tulevaisuudessa.
Lyhyet ohjeet
- Hae
budget-sarakkeen keskiarvo. - Anna tälle sarakkeelle alias
average_budget. - Kirjoita sisäkkäinen kysely
FROM-osioon. - Sisäkkäisessä kyselyssä valitse kaikki sarakkeet
department-taulusta. - Sisäkkäisessä kyselyssä käytä
WHERE-ehtoa, jossatype = 'manager'. - Anna sisäkkäiselle kyselylle alias
manager_departments.
Ratkaisu
Kiitos palautteestasi!
single