Twee Tabellen Samenvoegen
We hebben de aandacht getrokken van een bedrijf dat een kleine online winkel bezit. Zij beschikken over 2 tabellen die met elkaar verbonden zijn. De eerste tabel bevat informatie over de producten die in de online winkel worden verkocht.
De tweede tabel bevat productcategorieën op de website, samen met een korte beschrijving van elke categorie.
De eerste opdracht is om deze twee tabellen te koppelen om te bepalen hoeveel producten er in elke categorie zijn. Hiervoor wordt een JOIN-statement gebruikt.
Voordat we aan de opdracht beginnen, volgt eerst een uitleg over wat een JOIN-statement is en hoe deze werkt.
Om twee tabellen te koppelen, moeten ze een gemeenschappelijke kolom hebben. Laten we bekijken hoe JOIN werkt met de tabellen employees en department. Hun gemeenschappelijke kolom is employees.department en departments.name.
Bij het schrijven van kolommen uit deze tabellen, begin met de tabelnaam, voeg een punt toe en daarna de kolomnaam. Dit houdt de code overzichtelijk, vooral wanneer tabellen kolommen met dezelfde naam hebben. Het geeft SQL precies aan welke tabel en kolom bedoeld wordt.
Hier is de taak om het totale salaris op te halen voor werknemers in elk afdelingstype (tech/non-tech).
De query om deze taak uit te voeren ziet er als volgt uit:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Laten we uiteenzetten hoe JOIN in deze query wordt gebruikt:
- In het
SELECT-gedeelte worden de kolommen vermeld die uit beide tabellen nodig zijn, waarbij de tabelnaam voor duidelijkheid wordt toegevoegd; - In het
JOIN-gedeelte wordt de te koppelen tabel en de gemeenschappelijke kolom die de tabellen verbindt gespecificeerd. Hier zijn datemployees.departmentendepartment.name; - Vervolgens worden de gegevens gegroepeerd op
typeom het totale salaris te berekenen met de functieSUM().
Indien dit ingewikkeld lijkt, volgt hier een eenvoudige syntaxis voor het gebruik van JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
In tegenstelling tot de UNION-clausule stelt de JOIN-instructie ons in staat om volledige tabellen te combineren, niet alleen de kolommen die ze gemeen hebben. Bovendien is er bij JOIN geen noodzaak voor subquery's zoals bij UNION.
Swipe to start coding
Je moet de twee tabellen category en product samenvoegen. De gemeenschappelijke kolommen voor deze twee tabellen zijn product.category_id en category.id.
Je opdracht is om het totale aantal producten in elke categorie te vinden. Hiervoor moet je de som berekenen van de kolom product.amount.
Gebruik het alias total_amount voor deze kolom.
Aan het einde van je query sorteer je het resultaat op de kolom total_amount in oplopende volgorde.
In het resultaat moeten 2 kolommen staan: category.name en total.amount.
Korte instructies
- Haal de kolom
category.nameen de som van de kolomproduct.amountop uit de tabelproduct. - Wijs het alias
total_amounttoe aan de tweede kolom. - Voeg de tabel
categorysamen met eenJOIN-statement. - Koppel de tabellen op de gemeenschappelijke kolom
product.category_id = category.id. - Groepeer de resultaten op
category.name. - Sorteer de resultaten op
total_amount.
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 explain the different types of SQL JOINs?
How do I know which column to use for joining tables?
Can you show an example using the products and categories tables?
Geweldig!
Completion tarief verbeterd naar 4
Twee Tabellen Samenvoegen
Veeg om het menu te tonen
We hebben de aandacht getrokken van een bedrijf dat een kleine online winkel bezit. Zij beschikken over 2 tabellen die met elkaar verbonden zijn. De eerste tabel bevat informatie over de producten die in de online winkel worden verkocht.
De tweede tabel bevat productcategorieën op de website, samen met een korte beschrijving van elke categorie.
De eerste opdracht is om deze twee tabellen te koppelen om te bepalen hoeveel producten er in elke categorie zijn. Hiervoor wordt een JOIN-statement gebruikt.
Voordat we aan de opdracht beginnen, volgt eerst een uitleg over wat een JOIN-statement is en hoe deze werkt.
Om twee tabellen te koppelen, moeten ze een gemeenschappelijke kolom hebben. Laten we bekijken hoe JOIN werkt met de tabellen employees en department. Hun gemeenschappelijke kolom is employees.department en departments.name.
Bij het schrijven van kolommen uit deze tabellen, begin met de tabelnaam, voeg een punt toe en daarna de kolomnaam. Dit houdt de code overzichtelijk, vooral wanneer tabellen kolommen met dezelfde naam hebben. Het geeft SQL precies aan welke tabel en kolom bedoeld wordt.
Hier is de taak om het totale salaris op te halen voor werknemers in elk afdelingstype (tech/non-tech).
De query om deze taak uit te voeren ziet er als volgt uit:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Laten we uiteenzetten hoe JOIN in deze query wordt gebruikt:
- In het
SELECT-gedeelte worden de kolommen vermeld die uit beide tabellen nodig zijn, waarbij de tabelnaam voor duidelijkheid wordt toegevoegd; - In het
JOIN-gedeelte wordt de te koppelen tabel en de gemeenschappelijke kolom die de tabellen verbindt gespecificeerd. Hier zijn datemployees.departmentendepartment.name; - Vervolgens worden de gegevens gegroepeerd op
typeom het totale salaris te berekenen met de functieSUM().
Indien dit ingewikkeld lijkt, volgt hier een eenvoudige syntaxis voor het gebruik van JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
In tegenstelling tot de UNION-clausule stelt de JOIN-instructie ons in staat om volledige tabellen te combineren, niet alleen de kolommen die ze gemeen hebben. Bovendien is er bij JOIN geen noodzaak voor subquery's zoals bij UNION.
Swipe to start coding
Je moet de twee tabellen category en product samenvoegen. De gemeenschappelijke kolommen voor deze twee tabellen zijn product.category_id en category.id.
Je opdracht is om het totale aantal producten in elke categorie te vinden. Hiervoor moet je de som berekenen van de kolom product.amount.
Gebruik het alias total_amount voor deze kolom.
Aan het einde van je query sorteer je het resultaat op de kolom total_amount in oplopende volgorde.
In het resultaat moeten 2 kolommen staan: category.name en total.amount.
Korte instructies
- Haal de kolom
category.nameen de som van de kolomproduct.amountop uit de tabelproduct. - Wijs het alias
total_amounttoe aan de tweede kolom. - Voeg de tabel
categorysamen met eenJOIN-statement. - Koppel de tabellen op de gemeenschappelijke kolom
product.category_id = category.id. - Groepeer de resultaten op
category.name. - Sorteer de resultaten op
total_amount.
Oplossing
Bedankt voor je feedback!
single