Brug af Indlejrede Underforespørgsler i FROM-Sektionen
En indre underforespørgsel opretter en tabel, som vi derefter udfører operationer på i den ydre forespørgsel.
Heraf kan vi konkludere, at vi også kan bruge en indre forespørgsel i FROM
-sektionen for at vælge noget fra denne tabel.
Lad os se på et eksempel, hvor vi skal arbejde med employees
, hvis salary
er over en bestemt værdi. Men i stedet for en WHERE
-klausul vil vi bruge en indre forespørgsel:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Vi har oprettet en ny tabel ved hjælp af en indre underforespørgsel, som vi kan arbejde med og indsamle information fra.
Bemærk
Bemærk, at det for en sådan tabel er afgørende 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 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 kontrolleret.
Svaret skal kun indeholde én kolonne, average_budget
. Dette er et alias for aggregatfunktionen AVG()
.
Bemærk
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_budget
til 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_departments
til 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
Awesome!
Completion rate improved to 4
Brug af Indlejrede Underforespørgsler i FROM-Sektionen
Stryg for at vise menuen
En indre underforespørgsel opretter en tabel, som vi derefter udfører operationer på i den ydre forespørgsel.
Heraf kan vi konkludere, at vi også kan bruge en indre forespørgsel i FROM
-sektionen for at vælge noget fra denne tabel.
Lad os se på et eksempel, hvor vi skal arbejde med employees
, hvis salary
er over en bestemt værdi. Men i stedet for en WHERE
-klausul vil vi bruge en indre forespørgsel:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Vi har oprettet en ny tabel ved hjælp af en indre underforespørgsel, som vi kan arbejde med og indsamle information fra.
Bemærk
Bemærk, at det for en sådan tabel er afgørende 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 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 kontrolleret.
Svaret skal kun indeholde én kolonne, average_budget
. Dette er et alias for aggregatfunktionen AVG()
.
Bemærk
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_budget
til 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_departments
til den indlejrede forespørgsel.
Løsning
Tak for dine kommentarer!
Awesome!
Completion rate improved to 4single