Bruk av Indre Underforespørsler i FROM-delen
En indre delspørring oppretter en tabell som vi deretter utfører operasjoner på i den ytre spørringen.
Ut fra dette kan vi konkludere med at vi også kan bruke en indre spørring i FROM
-seksjonen for å velge noe fra denne tabellen.
La oss se på et eksempel der vi må arbeide med employees
hvor salary
er over en viss verdi. Men i stedet for en WHERE
-setning, vil vi bruke en indre spørring:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Vi har opprettet en ny tabell ved hjelp av en indre delspørring som vi kan arbeide med og hente informasjon fra.
Merk
Legg merke til at for en slik tabell er det avgjørende å angi et alias.
Når kan dette være nyttig?
En slik spørring er svært lesbar; noen ganger kan den erstatte en WHERE
-setning.
I tillegg, hvis du trenger å arbeide ikke med hele tabellen, men kun med en filtrert del, kan en indre delspørring i FROM
-seksjonen være svært nyttig.
Swipe to start coding
Din oppgave er å hente ut gjennomsnittlig budsjett (budget
-kolonnen) for alle lederavdelinger fra department
-tabellen. Bruk en indre spørring i FROM
-seksjonen for å filtrere kun avdelinger av typen leder. Bruk også aliaset manager_departments
for denne tabellen slik at oppgaven blir sjekket riktig.
Svaret skal kun ha én kolonne, average_budget
. Dette er et alias for aggregatfunksjonen AVG()
.
Merk
Denne oppgaven kunne også vært løst med en
WHERE
-setning, men vi bruker en nestet spørring her for å øve på denne syntaksen, noe som vil være nyttig for å løse mer komplekse problemer senere.
Korte instruksjoner
- Hent gjennomsnittsverdien av
budget
-kolonnen. - Gi kolonnen aliaset
average_budget
. - I
FROM
-setningen må du skrive en nestet spørring. - I den nestede spørringen, velg alle kolonner fra
department
-tabellen. - I den nestede spørringen, bruk
WHERE
-setning med betingelsentype = 'manager'
. - Gi den nestede spørringen aliaset
manager_departments
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain more scenarios where using an inner subquery in the FROM clause is beneficial?
What happens if I don't provide an alias for the inner subquery?
How does this approach compare to using a WHERE clause directly?
Awesome!
Completion rate improved to 4
Bruk av Indre Underforespørsler i FROM-delen
Sveip for å vise menyen
En indre delspørring oppretter en tabell som vi deretter utfører operasjoner på i den ytre spørringen.
Ut fra dette kan vi konkludere med at vi også kan bruke en indre spørring i FROM
-seksjonen for å velge noe fra denne tabellen.
La oss se på et eksempel der vi må arbeide med employees
hvor salary
er over en viss verdi. Men i stedet for en WHERE
-setning, vil vi bruke en indre spørring:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Vi har opprettet en ny tabell ved hjelp av en indre delspørring som vi kan arbeide med og hente informasjon fra.
Merk
Legg merke til at for en slik tabell er det avgjørende å angi et alias.
Når kan dette være nyttig?
En slik spørring er svært lesbar; noen ganger kan den erstatte en WHERE
-setning.
I tillegg, hvis du trenger å arbeide ikke med hele tabellen, men kun med en filtrert del, kan en indre delspørring i FROM
-seksjonen være svært nyttig.
Swipe to start coding
Din oppgave er å hente ut gjennomsnittlig budsjett (budget
-kolonnen) for alle lederavdelinger fra department
-tabellen. Bruk en indre spørring i FROM
-seksjonen for å filtrere kun avdelinger av typen leder. Bruk også aliaset manager_departments
for denne tabellen slik at oppgaven blir sjekket riktig.
Svaret skal kun ha én kolonne, average_budget
. Dette er et alias for aggregatfunksjonen AVG()
.
Merk
Denne oppgaven kunne også vært løst med en
WHERE
-setning, men vi bruker en nestet spørring her for å øve på denne syntaksen, noe som vil være nyttig for å løse mer komplekse problemer senere.
Korte instruksjoner
- Hent gjennomsnittsverdien av
budget
-kolonnen. - Gi kolonnen aliaset
average_budget
. - I
FROM
-setningen må du skrive en nestet spørring. - I den nestede spørringen, velg alle kolonner fra
department
-tabellen. - I den nestede spørringen, bruk
WHERE
-setning med betingelsentype = 'manager'
. - Gi den nestede spørringen aliaset
manager_departments
.
Løsning
Takk for tilbakemeldingene dine!
Awesome!
Completion rate improved to 4single