Gebruik van Interne Subquery's in de FROM-Sectie
Een interne subquery maakt een tabel waarmee vervolgens bewerkingen worden uitgevoerd 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.
Beschouw een voorbeeld waarin gewerkt moet worden met employees waarvan het salary boven een bepaalde waarde ligt. In plaats van een WHERE-clausule gebruiken we echter een interne query:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Er is een nieuwe tabel gemaakt met een interne subquery waarmee gewerkt kan worden en informatie verzameld kan worden.
Opmerking
Let op dat het voor zo'n tabel essentieel is om een alias op te geven.
Wanneer is dit nuttig?
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 alleen met een gefilterd deel, kan een interne subquery in de FROM-sectie bijzonder handig zijn.
Swipe to start coding
Je taak is om het gemiddelde budget (kolom budget) op te halen voor alle managementafdelingen uit de tabel department. Gebruik een interne subquery in het FROM-gedeelte om alleen het managementtype afdeling te filteren. Gebruik ook het alias manager_departments voor deze tabel zodat de opdracht correct wordt gecontroleerd.
De respons 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 voor het oplossen van complexere problemen in de toekomst.
Korte instructies
- Haal de gemiddelde waarde van de kolom
budgetop. - Ken 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 tabel
department. - Gebruik in de geneste query de
WHERE-clausule met de voorwaardetype = 'manager'. - Ken 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.
Can you give more examples of using inner subqueries in the FROM clause?
When should I use an inner subquery instead of a WHERE clause?
What are some common mistakes to avoid when using subqueries in the FROM clause?
Geweldig!
Completion tarief verbeterd naar 4
Gebruik van Interne Subquery's in de FROM-Sectie
Veeg om het menu te tonen
Een interne subquery maakt een tabel waarmee vervolgens bewerkingen worden uitgevoerd 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.
Beschouw een voorbeeld waarin gewerkt moet worden met employees waarvan het salary boven een bepaalde waarde ligt. In plaats van een WHERE-clausule gebruiken we echter een interne query:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Er is een nieuwe tabel gemaakt met een interne subquery waarmee gewerkt kan worden en informatie verzameld kan worden.
Opmerking
Let op dat het voor zo'n tabel essentieel is om een alias op te geven.
Wanneer is dit nuttig?
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 alleen met een gefilterd deel, kan een interne subquery in de FROM-sectie bijzonder handig zijn.
Swipe to start coding
Je taak is om het gemiddelde budget (kolom budget) op te halen voor alle managementafdelingen uit de tabel department. Gebruik een interne subquery in het FROM-gedeelte om alleen het managementtype afdeling te filteren. Gebruik ook het alias manager_departments voor deze tabel zodat de opdracht correct wordt gecontroleerd.
De respons 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 voor het oplossen van complexere problemen in de toekomst.
Korte instructies
- Haal de gemiddelde waarde van de kolom
budgetop. - Ken 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 tabel
department. - Gebruik in de geneste query de
WHERE-clausule met de voorwaardetype = 'manager'. - Ken het alias
manager_departmentstoe aan de geneste query.
Oplossing
Bedankt voor je feedback!
single