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 å hente 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, bruker vi 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-delen for å filtrere kun de avdelingene som har typen 'manager'. Bruk også aliaset manager_departments for denne tabellen slik at oppgaven blir kontrollert 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 ut gjennomsnittsverdien til
budget-kolonnen. - Gi kolonnen aliaset
average_budget. - I
FROM-delen 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 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?
Fantastisk!
Completion rate forbedret til 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 å hente 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, bruker vi 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-delen for å filtrere kun de avdelingene som har typen 'manager'. Bruk også aliaset manager_departments for denne tabellen slik at oppgaven blir kontrollert 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 ut gjennomsnittsverdien til
budget-kolonnen. - Gi kolonnen aliaset
average_budget. - I
FROM-delen 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