Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sisäkkäisten Alikyselyjen Käyttö From-Osiossa | Sisäkkäiset Alikyselyt
Keskitaso SQL

bookSisäkkäisten Alikyselyjen Käyttö From-Osiossa

Sisäinen alikysely luo taulun, jonka kanssa suoritetaan operaatioita ulommassa kyselyssä.

Tästä voidaan 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. Käytämme kuitenkin sisäistä kyselyä WHERE-ehdon sijaan:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Olemme luoneet uuden taulun sisäisellä alikyselyllä, jonka avulla voimme käsitellä ja kerätä tietoja.

Note
Huomio

Huomaa, että tällaiselle taululle on välttämätöntä antaa aliaksen.

Missä tämä voi olla hyödyllistä?

Tällainen kysely on erittäin luettava; joskus se voi korvata WHERE-ehdon.

Lisäksi, jos tarvitsee käsitellä ei koko taulua, vaan vain suodatettua osaa, sisäinen alikysely FROM-osiossa voi olla erittäin kätevä.

Tehtävä

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 johtotyyppiset 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 alias aggregaattifunktiolle AVG().

Tämä tehtävä voitaisiin 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.
  • Käytä sisäkkäisessä kyselyssä WHERE-ehtoa, jossa type = 'manager'.
  • Anna sisäkkäiselle kyselylle alias manager_departments.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain more scenarios where using an inner subquery in the FROM clause is beneficial?

What are the differences between using a WHERE clause and an inner subquery in the FROM section?

Can you show how to add more conditions or calculations to the inner subquery?

close

bookSisäkkäisten Alikyselyjen Käyttö From-Osiossa

Pyyhkäise näyttääksesi valikon

Sisäinen alikysely luo taulun, jonka kanssa suoritetaan operaatioita ulommassa kyselyssä.

Tästä voidaan 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. Käytämme kuitenkin sisäistä kyselyä WHERE-ehdon sijaan:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Olemme luoneet uuden taulun sisäisellä alikyselyllä, jonka avulla voimme käsitellä ja kerätä tietoja.

Note
Huomio

Huomaa, että tällaiselle taululle on välttämätöntä antaa aliaksen.

Missä tämä voi olla hyödyllistä?

Tällainen kysely on erittäin luettava; joskus se voi korvata WHERE-ehdon.

Lisäksi, jos tarvitsee käsitellä ei koko taulua, vaan vain suodatettua osaa, sisäinen alikysely FROM-osiossa voi olla erittäin kätevä.

Tehtävä

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 johtotyyppiset 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 alias aggregaattifunktiolle AVG().

Tämä tehtävä voitaisiin 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.
  • Käytä sisäkkäisessä kyselyssä WHERE-ehtoa, jossa type = 'manager'.
  • Anna sisäkkäiselle kyselylle alias manager_departments.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
single

single

some-alt