Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Använda Inre Underfrågor i FROM-Sektionen | Nästlade Underfrågor
Intermediär SQL

Svep för att visa menyn

book
Använda Inre Underfrågor i FROM-Sektionen

En inre subfråga skapar en tabell med vilken vi sedan utför operationer i den yttre frågan.

Från detta kan vi dra slutsatsen att vi också kan använda en inre fråga inom FROM-sektionen för att välja något från denna tabell.

Låt oss överväga ett exempel där vi behöver arbeta med employees vars salary är över ett visst värde. Men istället för en WHERE-klausul kommer vi att använda en inre fråga:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Vi har skapat en ny tabell med en inre subfråga med vilken vi kan arbeta och samla information.

Notera

Observera att för en sådan tabell är det viktigt att ange ett alias.

När kan detta vara användbart?

En sådan fråga är mycket läsbar; ibland kan den ersätta en WHERE-sats.

Dessutom, om du behöver arbeta inte med hela tabellen utan bara med en filtrerad del, kan en inre underfråga inom FROM-sektionen vara extremt användbar.

Uppgift

Swipe to start coding

Din uppgift är att hämta den genomsnittliga budgeten (budget-kolumnen) för alla ledningsavdelningar från department-tabellen. Använd en inre underfråga i FROM-sektionen för att filtrera endast ledningstypen av avdelning. Använd också aliaset manager_departments för denna tabell så att uppgiften kontrolleras korrekt.

Svaret ska bara ha en kolumn, average_budget. Detta är ett alias för aggregatfunktionen AVG().

Notera

Denna uppgift skulle också kunna göras med en WHERE-sats, men vi använder en nästlad fråga här för att öva på denna syntax, vilket kommer att vara användbart för att lösa mer komplexa problem i framtiden.

Kortfattade instruktioner

  • Hämta det genomsnittliga värdet av budget-kolumnen.
  • Tilldela aliaset average_budget till den kolumnen.
  • I FROM-satsen behöver du skriva en nästlad fråga.
  • I den nästlade frågan, välj alla kolumner från department-tabellen.
  • I den nästlade frågan, använd WHERE-satsen med villkoret type = 'manager'.
  • Tilldela aliaset manager_departments till den nästlade frågan.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Använda Inre Underfrågor i FROM-Sektionen

En inre subfråga skapar en tabell med vilken vi sedan utför operationer i den yttre frågan.

Från detta kan vi dra slutsatsen att vi också kan använda en inre fråga inom FROM-sektionen för att välja något från denna tabell.

Låt oss överväga ett exempel där vi behöver arbeta med employees vars salary är över ett visst värde. Men istället för en WHERE-klausul kommer vi att använda en inre fråga:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Vi har skapat en ny tabell med en inre subfråga med vilken vi kan arbeta och samla information.

Notera

Observera att för en sådan tabell är det viktigt att ange ett alias.

När kan detta vara användbart?

En sådan fråga är mycket läsbar; ibland kan den ersätta en WHERE-sats.

Dessutom, om du behöver arbeta inte med hela tabellen utan bara med en filtrerad del, kan en inre underfråga inom FROM-sektionen vara extremt användbar.

Uppgift

Swipe to start coding

Din uppgift är att hämta den genomsnittliga budgeten (budget-kolumnen) för alla ledningsavdelningar från department-tabellen. Använd en inre underfråga i FROM-sektionen för att filtrera endast ledningstypen av avdelning. Använd också aliaset manager_departments för denna tabell så att uppgiften kontrolleras korrekt.

Svaret ska bara ha en kolumn, average_budget. Detta är ett alias för aggregatfunktionen AVG().

Notera

Denna uppgift skulle också kunna göras med en WHERE-sats, men vi använder en nästlad fråga här för att öva på denna syntax, vilket kommer att vara användbart för att lösa mer komplexa problem i framtiden.

Kortfattade instruktioner

  • Hämta det genomsnittliga värdet av budget-kolumnen.
  • Tilldela aliaset average_budget till den kolumnen.
  • I FROM-satsen behöver du skriva en nästlad fråga.
  • I den nästlade frågan, välj alla kolumner från department-tabellen.
  • I den nästlade frågan, använd WHERE-satsen med villkoret type = 'manager'.
  • Tilldela aliaset manager_departments till den nästlade frågan.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt