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

Sveip for å vise menyen

book
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å nettstedet, 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 som er i hver kategori. Vi vil bruke en JOIN-setning for å oppnå dette.

Før vi dykker inn i 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 employees og department tabellene. Deres felles kolonne er employees.department og departments.name.

Merk

Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en prikk, og deretter kolonnenavnet. Dette hjelper med å holde koden klar, spesielt når tabeller 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

La oss bryte ned hvordan vi brukte JOIN i vår spørring:

  1. I SELECT-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og sørger for å inkludere tabellnavnet for klarhet;

  2. I JOIN-delen spesifiserer vi tabellen som skal kobles og den felles kolonnen som knytter dem sammen. Her er det employees.department og department.name;

  3. Vi grupperer deretter dataene etter type for å beregne total lønn ved å bruke SUM()-funksjonen.

Hvis dette virker komplekst, her er en enkel syntaks for å bruke JOIN:

sql

Merk

I motsetning til UNION-klausulen, lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de deler. I tillegg, med JOIN, er det ikke behov for underforespørsler 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.

Din oppgave er å finne det totale antallet produkter i hver kategori. For å gjøre dette, må du beregne summen av product.amount-kolonnen.

Bruk aliaset total_amount for denne kolonnen. På slutten av spørringen din, sorter resultatet etter total_amount-kolonnen i stigende rekkefølge.

I svaret ditt, bør du ha 2 kolonner: category.name og total.amount.

Korte Instruksjoner

  • Hent category.name-kolonnen og summen av product.amount-kolonnen fra product-tabellen.
  • Tildel aliaset total_amount til den andre kolonnen.
  • Slå sammen category-tabellen ved å bruke en JOIN-setning.
  • Matche 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

Spør AI

expand
ChatGPT

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

book
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å nettstedet, 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 som er i hver kategori. Vi vil bruke en JOIN-setning for å oppnå dette.

Før vi dykker inn i 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 employees og department tabellene. Deres felles kolonne er employees.department og departments.name.

Merk

Når du skriver kolonner fra disse tabellene, start med tabellnavnet, legg til en prikk, og deretter kolonnenavnet. Dette hjelper med å holde koden klar, spesielt når tabeller 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

La oss bryte ned hvordan vi brukte JOIN i vår spørring:

  1. I SELECT-delen lister vi opp kolonnene vi ønsker fra begge tabellene, og sørger for å inkludere tabellnavnet for klarhet;

  2. I JOIN-delen spesifiserer vi tabellen som skal kobles og den felles kolonnen som knytter dem sammen. Her er det employees.department og department.name;

  3. Vi grupperer deretter dataene etter type for å beregne total lønn ved å bruke SUM()-funksjonen.

Hvis dette virker komplekst, her er en enkel syntaks for å bruke JOIN:

sql

Merk

I motsetning til UNION-klausulen, lar JOIN-setningen oss kombinere hele tabeller, ikke bare kolonnene de deler. I tillegg, med JOIN, er det ikke behov for underforespørsler 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.

Din oppgave er å finne det totale antallet produkter i hver kategori. For å gjøre dette, må du beregne summen av product.amount-kolonnen.

Bruk aliaset total_amount for denne kolonnen. På slutten av spørringen din, sorter resultatet etter total_amount-kolonnen i stigende rekkefølge.

I svaret ditt, bør du ha 2 kolonner: category.name og total.amount.

Korte Instruksjoner

  • Hent category.name-kolonnen og summen av product.amount-kolonnen fra product-tabellen.
  • Tildel aliaset total_amount til den andre kolonnen.
  • Slå sammen category-tabellen ved å bruke en JOIN-setning.
  • Matche 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
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt