Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Join 2 Tabeller | Slå Sammen Tabeller
Videregående SQL

bookJoin 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 skal bruke 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.

Note
Definisjon

JOIN i SQL er en operasjon som kombinerer rader fra to eller flere tabeller basert på en relatert kolonne mellom dem. JOIN gjør det mulig å hente data fra flere tabeller i én spørring, noe som forenkler analyse og behandling av relaterte data.

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.

Note
Merk

Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en punktum, og deretter kolonnenavnet. Dette bidrar til å holde koden oversiktlig, 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:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Her er en gjennomgang av hvordan vi brukte JOIN i spørringen:

  1. I SELECT-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og inkluderer tabellnavnet for tydelighet;
  2. I JOIN-delen spesifiserer vi tabellen som skal kobles og felleskolonnen som knytter dem sammen. Her er det employees.department og department.name;
  3. Deretter grupperer vi dataene etter type for å beregne total lønn ved hjelp av SUM()-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
Note
Merk

I motsetning til UNION-setningen, lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de har til felles. Med JOIN er det heller ikke nødvendig med underforespørsler slik som med UNION.

Oppgave

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.name og summen av kolonnen product.amount fra tabellen product.
  • Gi det andre kolonnen aliaset total_amount.
  • Slå sammen tabellen category ved å bruke en JOIN-setning.
  • Koble tabellene på den felles kolonnen product.category_id = category.id.
  • Grupper resultatene etter category.name.
  • Sorter resultatene etter total_amount.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain how the JOIN would work for the product and category tables?

What type of JOIN should I use for this scenario?

Can you show an example query joining the product and category tables?

close

bookJoin 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 skal bruke 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.

Note
Definisjon

JOIN i SQL er en operasjon som kombinerer rader fra to eller flere tabeller basert på en relatert kolonne mellom dem. JOIN gjør det mulig å hente data fra flere tabeller i én spørring, noe som forenkler analyse og behandling av relaterte data.

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.

Note
Merk

Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en punktum, og deretter kolonnenavnet. Dette bidrar til å holde koden oversiktlig, 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:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Her er en gjennomgang av hvordan vi brukte JOIN i spørringen:

  1. I SELECT-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og inkluderer tabellnavnet for tydelighet;
  2. I JOIN-delen spesifiserer vi tabellen som skal kobles og felleskolonnen som knytter dem sammen. Her er det employees.department og department.name;
  3. Deretter grupperer vi dataene etter type for å beregne total lønn ved hjelp av SUM()-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
Note
Merk

I motsetning til UNION-setningen, lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de har til felles. Med JOIN er det heller ikke nødvendig med underforespørsler slik som med UNION.

Oppgave

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.name og summen av kolonnen product.amount fra tabellen product.
  • Gi det andre kolonnen aliaset total_amount.
  • Slå sammen tabellen category ved å bruke en JOIN-setning.
  • Koble tabellene på den felles kolonnen product.category_id = category.id.
  • Grupper resultatene etter category.name.
  • Sorter resultatene etter total_amount.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

some-alt