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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
SQL Jatkotasolla

bookSisä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ä:

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

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ä.

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 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, 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 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?

close

bookSisä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ä:

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

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ä.

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 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, 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