Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Brug af indlejrede underforespørgsler i FROM-sektionen | Indlejrede Underforespørgsler
Intermediær SQL
Sektion 2. Kapitel 3
single

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:

123456
SELECT * 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.

Note
Bemærk

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.

Opgave

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_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 betingelsen type = 'manager'.
  • Tildel aliaset manager_departments til den indlejrede forespørgsel.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt