Join 2 Tabeller
Vi har fått oppmerksomheten til et selskap som eier en liten nettbutikk. De har 2 tabeller som er relatert til hverandre. Den første tabellen inneholder informasjon om produktene som selges i nettbutikken.
Slik ser product
-tabellen ut:
Den andre tabellen inneholder produktkategorier på nettsiden, sammen med en kort beskrivelse for hver kategori.
Slik ser category
-tabellen ut:
Vår første oppgave er å slå sammen disse to tabellene for å finne ut hvor mange produkter det er i hver kategori. Vi bruker en JOIN
-setning for å oppnå dette.
Før vi går videre til oppgaven, la oss forstå hva en JOIN
-setning er og hvordan den fungerer.
For å slå sammen to tabeller, må de dele en felles kolonne. La oss se hvordan JOIN
fungerer ved å bruke tabellene employees
og department
. Deres felles kolonne er employees.department
og departments.name
.
Merk
Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en punktum, og deretter kolonnenavnet. Dette bidrar til å holde koden tydelig, spesielt når tabellene har kolonner med samme navn. Det forteller SQL nøyaktig hvilken tabell og kolonne du mener.
Her er oppgaven med å hente ut total lønn for ansatte i hver avdelingstype (tech
/non-tech
).
Spørringen for å utføre denne oppgaven vil se slik ut:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
La oss gjennomgå hvordan vi brukte JOIN
i spørringen vår:
- I
SELECT
-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og inkluderer tabellnavnet for tydelighet; - I
JOIN
-delen spesifiserer vi tabellen som skal kobles og felles kolonne som knytter dem sammen. Her er detemployees.department
ogdepartment.name
; - Deretter grupperer vi dataene etter
type
for å beregne total lønn ved hjelp avSUM()
-funksjonen.
Hvis dette virker komplisert, her er en enkel syntaks for bruk av JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Merk
I motsetning til
UNION
-setningen larJOIN
oss kombinere hele tabeller, ikke bare kolonnene de har til felles. I tillegg, medJOIN
, er det ikke nødvendig med underforespørsler slik som medUNION
.
Swipe to start coding
Du må slå sammen de to tabellene: category
og product
. De felles kolonnene for disse to tabellene er product.category_id
og category.id
.
Oppgaven din er å finne det totale antallet produkter i hver kategori. For å gjøre dette må du beregne summen av kolonnen product.amount
.
Bruk aliaset total_amount
for denne kolonnen.
På slutten av spørringen skal du sortere resultatet etter kolonnen total_amount
i stigende rekkefølge.
I svaret skal du ha 2 kolonner: category.name
og total.amount
.
Korte instruksjoner
- Hent ut kolonnen
category.name
og summen av kolonnenproduct.amount
fra tabellenproduct
. - Gi aliaset
total_amount
til den andre kolonnen. - Slå sammen tabellen
category
ved å bruke enJOIN
-setning. - Koble sammen tabellene på den felles kolonnen
product.category_id = category.id
. - Grupper resultatene etter
category.name
. - Sorter resultatene etter
total_amount
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
What are the different types of JOINs in SQL?
Can you explain how to join the product and category tables using SQL?
How do I count the number of products in each category using a JOIN?
Awesome!
Completion rate improved to 4
Join 2 Tabeller
Sveip for å vise menyen
Vi har fått oppmerksomheten til et selskap som eier en liten nettbutikk. De har 2 tabeller som er relatert til hverandre. Den første tabellen inneholder informasjon om produktene som selges i nettbutikken.
Slik ser product
-tabellen ut:
Den andre tabellen inneholder produktkategorier på nettsiden, sammen med en kort beskrivelse for hver kategori.
Slik ser category
-tabellen ut:
Vår første oppgave er å slå sammen disse to tabellene for å finne ut hvor mange produkter det er i hver kategori. Vi bruker en JOIN
-setning for å oppnå dette.
Før vi går videre til oppgaven, la oss forstå hva en JOIN
-setning er og hvordan den fungerer.
For å slå sammen to tabeller, må de dele en felles kolonne. La oss se hvordan JOIN
fungerer ved å bruke tabellene employees
og department
. Deres felles kolonne er employees.department
og departments.name
.
Merk
Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en punktum, og deretter kolonnenavnet. Dette bidrar til å holde koden tydelig, spesielt når tabellene har kolonner med samme navn. Det forteller SQL nøyaktig hvilken tabell og kolonne du mener.
Her er oppgaven med å hente ut total lønn for ansatte i hver avdelingstype (tech
/non-tech
).
Spørringen for å utføre denne oppgaven vil se slik ut:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
La oss gjennomgå hvordan vi brukte JOIN
i spørringen vår:
- I
SELECT
-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og inkluderer tabellnavnet for tydelighet; - I
JOIN
-delen spesifiserer vi tabellen som skal kobles og felles kolonne som knytter dem sammen. Her er detemployees.department
ogdepartment.name
; - Deretter grupperer vi dataene etter
type
for å beregne total lønn ved hjelp avSUM()
-funksjonen.
Hvis dette virker komplisert, her er en enkel syntaks for bruk av JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Merk
I motsetning til
UNION
-setningen larJOIN
oss kombinere hele tabeller, ikke bare kolonnene de har til felles. I tillegg, medJOIN
, er det ikke nødvendig med underforespørsler slik som medUNION
.
Swipe to start coding
Du må slå sammen de to tabellene: category
og product
. De felles kolonnene for disse to tabellene er product.category_id
og category.id
.
Oppgaven din er å finne det totale antallet produkter i hver kategori. For å gjøre dette må du beregne summen av kolonnen product.amount
.
Bruk aliaset total_amount
for denne kolonnen.
På slutten av spørringen skal du sortere resultatet etter kolonnen total_amount
i stigende rekkefølge.
I svaret skal du ha 2 kolonner: category.name
og total.amount
.
Korte instruksjoner
- Hent ut kolonnen
category.name
og summen av kolonnenproduct.amount
fra tabellenproduct
. - Gi aliaset
total_amount
til den andre kolonnen. - Slå sammen tabellen
category
ved å bruke enJOIN
-setning. - Koble sammen tabellene på den felles kolonnen
product.category_id = category.id
. - Grupper resultatene etter
category.name
. - Sorter resultatene etter
total_amount
.
Løsning
Takk for tilbakemeldingene dine!
Awesome!
Completion rate improved to 4single