Udfordring: Brug af Indlejrede Underforespørgsler i FROM-sektionen
En indre subforespørgsel opretter en tabel, som du derefter kan udføre 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 for en sådan tabel er det vigtigt at angive et alias.
Hvornår kan dette være nyttigt?
En sådan forespørgsel er meget læsbar; 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 indre underforespørgsel i FROM-sektionen være særdeles nyttig.
Tak for dine kommentarer!
single
Udfordring: Brug af Indlejrede Underforespørgsler i FROM-sektionen
Stryg for at vise menuen
En indre subforespørgsel opretter en tabel, som du derefter kan udføre 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 for en sådan tabel er det vigtigt at angive et alias.
Hvornår kan dette være nyttigt?
En sådan forespørgsel er meget læsbar; 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 indre underforespørgsel i FROM-sektionen være særdeles nyttig.
Swipe to start coding
Din opgave er at hente gennemsnitsbudgettet (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 også 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