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.
Den andre tabellen inneholder produktkategorier på nettsiden, sammen med en kort beskrivelse av hver kategori.
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 å koble 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.
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 felleskolonnen som knytter dem sammen. Her er detemployees.departmentogdepartment.name; - Deretter grupperer vi dataene etter
typefor å beregne total lønn ved hjelp avSUM()-funksjonen.
Hvis dette virker komplisert, her er en enkel syntaks for å bruke JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
I motsetning til UNION-setningen lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de har til felles. I tillegg krever ikke JOIN underforespørsler slik som UNION gjør.
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.
Til slutt i 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 kolonnen
category.nameog summen av kolonnenproduct.amountfra tabellenproduct. - Gi aliaset
total_amounttil den andre kolonnen. - Slå sammen tabellen
categoryved å bruke enJOIN-setning. - Koble 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
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?
Fantastisk!
Completion rate forbedret til 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.
Den andre tabellen inneholder produktkategorier på nettsiden, sammen med en kort beskrivelse av hver kategori.
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 å koble 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.
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 felleskolonnen som knytter dem sammen. Her er detemployees.departmentogdepartment.name; - Deretter grupperer vi dataene etter
typefor å beregne total lønn ved hjelp avSUM()-funksjonen.
Hvis dette virker komplisert, her er en enkel syntaks for å bruke JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
I motsetning til UNION-setningen lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de har til felles. I tillegg krever ikke JOIN underforespørsler slik som UNION gjør.
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.
Til slutt i 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 kolonnen
category.nameog summen av kolonnenproduct.amountfra tabellenproduct. - Gi aliaset
total_amounttil den andre kolonnen. - Slå sammen tabellen
categoryved å bruke enJOIN-setning. - Koble 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