single
Brug af indlejrede underforespørgsler i FROM-sektionen
Stryg for at vise menuen
En indre subforespørgsel opretter en tabel, som du derefter udfører operationer på i den ydre forespørgsel.
Heraf kan du konkludere, at du også kan bruge en indre forespørgsel i FROM-sektionen for at vælge noget fra denne tabel.
Overvej et eksempel, hvor du skal arbejde med employees, hvis salary er over en bestemt værdi. Men i stedet for en WHERE-klausul skal du bruge en indre forespørgsel:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
En ny tabel er blevet oprettet ved hjælp af en indre subforespørgsel, som du kan arbejde med og indsamle information fra.
Bemærk, at det er vigtigt at angive et alias for en sådan tabel.
Hvornår kan dette være nyttigt?
En sådan forespørgsel er meget letlæselig; nogle gange kan den erstatte en WHERE-klausul.
Derudover, hvis du har brug for at arbejde ikke med hele tabellen, men kun med en filtreret del, kan en indlejret underforespørgsel i FROM-sektionen være særdeles nyttig.
Swipe to start coding
Din opgave er at hente det gennemsnitlige budget (budget-kolonnen) for alle ledelsesafdelinger fra department-tabellen. Brug en indre underforespørgsel i FROM-sektionen for kun at filtrere afdelinger af typen ledelse. Brug desuden aliaset manager_departments for denne tabel, så opgaven kan blive korrekt tjekket.
Svaret skal kun indeholde én kolonne, average_budget. Dette er et alias for aggregatfunktionen AVG().
Denne opgave kunne også løses med en WHERE-klausul, men vi bruger en indlejret forespørgsel her for at øve denne syntaks, hvilket vil være nyttigt til at løse mere komplekse problemer i fremtiden.
Korte instruktioner
- Hent gennemsnitsværdien af
budget-kolonnen. - Tildel aliaset
average_budgettil denne kolonne. - I
FROM-klausulen skal du skrive en indlejret forespørgsel. - I den indlejrede forespørgsel skal du vælge alle kolonner fra
department-tabellen. - I den indlejrede forespørgsel skal du bruge en
WHERE-klausul med betingelsentype = 'manager'. - Tildel aliaset
manager_departmentstil den indlejrede forespørgsel.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat