Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gebruik van Interne Subquery's in de FROM-Sectie | Geneste Subquery's
Intermediate SQL

bookGebruik van Interne Subquery's in de FROM-Sectie

Een interne subquery maakt een tabel waarmee we vervolgens bewerkingen uitvoeren in de buitenste query.

Hieruit kunnen we concluderen dat we ook een interne query kunnen gebruiken binnen de FROM-sectie om iets uit deze tabel te selecteren.

Laten we een voorbeeld bekijken waarin we moeten werken met employees waarvan het salary boven een bepaalde waarde ligt. Maar in plaats van een WHERE-clausule gebruiken we een interne query:

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

We hebben een nieuwe tabel gemaakt met een interne subquery waarmee we kunnen werken en informatie kunnen verzamelen.

Opmerking

Let op dat het bij zo'n tabel essentieel is om een alias op te geven.

Wanneer kan dit nuttig zijn?

Zo'n query is zeer leesbaar; soms kan het een WHERE-clausule vervangen.

Bovendien, als het nodig is om niet met de volledige tabel te werken maar slechts met een gefilterd deel, kan een interne subquery in de FROM-sectie bijzonder handig zijn.

Taak

Swipe to start coding

Je taak is om het gemiddelde budget (budget-kolom) op te halen voor alle managementafdelingen uit de department-tabel. Gebruik een interne subquery in het FROM-gedeelte om alleen het managementtype afdeling te filteren. Gebruik daarnaast het alias manager_departments voor deze tabel zodat de opdracht correct wordt gecontroleerd.

De output moet slechts één kolom bevatten, average_budget. Dit is een alias voor de aggregatiefunctie AVG().

Opmerking

Deze opdracht kan ook worden uitgevoerd met een WHERE-clausule, maar we gebruiken hier een geneste query om deze syntaxis te oefenen, wat nuttig zal zijn bij het oplossen van complexere problemen in de toekomst.

Korte instructies

  • Haal de gemiddelde waarde op van de kolom budget.
  • Ken het alias average_budget toe aan die kolom.
  • In de FROM-clausule moet je een geneste query schrijven.
  • Selecteer in de geneste query alle kolommen uit de tabel department.
  • Gebruik in de geneste query de WHERE-clausule met de voorwaarde type = 'manager'.
  • Ken het alias manager_departments toe aan de geneste query.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

Awesome!

Completion rate improved to 4

bookGebruik van Interne Subquery's in de FROM-Sectie

Veeg om het menu te tonen

Een interne subquery maakt een tabel waarmee we vervolgens bewerkingen uitvoeren in de buitenste query.

Hieruit kunnen we concluderen dat we ook een interne query kunnen gebruiken binnen de FROM-sectie om iets uit deze tabel te selecteren.

Laten we een voorbeeld bekijken waarin we moeten werken met employees waarvan het salary boven een bepaalde waarde ligt. Maar in plaats van een WHERE-clausule gebruiken we een interne query:

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

We hebben een nieuwe tabel gemaakt met een interne subquery waarmee we kunnen werken en informatie kunnen verzamelen.

Opmerking

Let op dat het bij zo'n tabel essentieel is om een alias op te geven.

Wanneer kan dit nuttig zijn?

Zo'n query is zeer leesbaar; soms kan het een WHERE-clausule vervangen.

Bovendien, als het nodig is om niet met de volledige tabel te werken maar slechts met een gefilterd deel, kan een interne subquery in de FROM-sectie bijzonder handig zijn.

Taak

Swipe to start coding

Je taak is om het gemiddelde budget (budget-kolom) op te halen voor alle managementafdelingen uit de department-tabel. Gebruik een interne subquery in het FROM-gedeelte om alleen het managementtype afdeling te filteren. Gebruik daarnaast het alias manager_departments voor deze tabel zodat de opdracht correct wordt gecontroleerd.

De output moet slechts één kolom bevatten, average_budget. Dit is een alias voor de aggregatiefunctie AVG().

Opmerking

Deze opdracht kan ook worden uitgevoerd met een WHERE-clausule, maar we gebruiken hier een geneste query om deze syntaxis te oefenen, wat nuttig zal zijn bij het oplossen van complexere problemen in de toekomst.

Korte instructies

  • Haal de gemiddelde waarde op van de kolom budget.
  • Ken het alias average_budget toe aan die kolom.
  • In de FROM-clausule moet je een geneste query schrijven.
  • Selecteer in de geneste query alle kolommen uit de tabel department.
  • Gebruik in de geneste query de WHERE-clausule met de voorwaarde type = 'manager'.
  • Ken het alias manager_departments toe aan de geneste query.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

close

Awesome!

Completion rate improved to 4
Sectie 2. Hoofdstuk 3
single

single

some-alt