single
Gebruik van interne subquery's in de FROM-sectie
Veeg om het menu te tonen
Een interne subquery maakt een tabel waarmee je vervolgens bewerkingen uitvoert in de buitenste query.
Hieruit kun je concluderen dat je ook een interne query kunt gebruiken binnen de FROM-sectie om iets uit deze tabel te selecteren.
Bekijk een voorbeeld waarbij je moet werken met employees waarvan het salary boven een bepaalde waarde ligt. Maar in plaats van een WHERE-clausule, moet je een interne query gebruiken:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Een nieuwe tabel is aangemaakt met een interne subquery waarmee je kunt werken en informatie kunt verzamelen.
Let op dat het bij zo'n tabel essentieel is om een alias op te geven.
Wanneer is dit handig?
Zo'n query is zeer leesbaar; soms kan het een WHERE-clausule vervangen.
Bovendien, als je niet met de volledige tabel wilt werken maar alleen met een gefilterd deel, kan een interne subquery in de FROM-sectie bijzonder nuttig zijn.
Veeg om te beginnen met coderen
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 respons mag slechts één kolom bevatten, average_budget. Dit is een alias voor de aggregatiefunctie AVG().
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. - Wijs het alias
average_budgettoe aan die kolom. - In de
FROM-clausule moet je een geneste query schrijven. - Selecteer in de geneste query alle kolommen uit de
department-tabel. - Gebruik in de geneste query de
WHERE-clausule met de voorwaardetype = 'manager'. - Wijs het alias
manager_departmentstoe aan de geneste query.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.