Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Join 2 Tabeller | Sammenkædning af Tabeller
Mellemliggende SQL

bookJoin 2 Tabeller

Vi har fået opmærksomheden fra en virksomhed, der ejer en lille onlinebutik. De har 2 tabeller, som er relateret til hinanden. Den første tabel indeholder information om de produkter, der sælges i onlinebutikken.

Sådan ser product-tabellen ud:

Den anden tabel indeholder produktkategorier på hjemmesiden samt en kort beskrivelse af hver kategori.

Sådan ser category-tabellen ud:

Vores første opgave er at forbinde disse to tabeller for at finde ud af, hvor mange produkter der er i hver kategori. Vi bruger en JOIN-sætning til dette formål.

Før vi går i gang med opgaven, skal vi forstå, hvad en JOIN-sætning er, og hvordan den fungerer.

For at sammenkæde to tabeller skal de dele en fælles kolonne. Lad os se, hvordan JOIN fungerer ved at bruge tabellerne employees og department. Deres fælles kolonne er employees.department og departments.name.

Bemærk

Når du skriver kolonner fra disse tabeller, start med tabelnavnet, tilføj et punktum, og derefter kolonnenavnet. Dette hjælper med at holde koden overskuelig, især når tabeller har kolonner med samme navn. Det fortæller SQL præcis, hvilken tabel og kolonne du mener.

Her er opgaven med at hente den samlede løn for medarbejdere i hver afdelingstype (tech/non-tech).

Forespørgslen til at udføre denne opgave vil se sådan ud:

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

Lad os gennemgå, hvordan vi brugte JOIN i vores forespørgsel:

  1. I SELECT-delen angiver vi de kolonner, vi ønsker fra begge tabeller, og sørger for at inkludere tabelnavnet for tydelighed;
  2. I JOIN-delen angiver vi tabellen, der skal sammenkædes, og fælles kolonne, der forbinder dem. Her er det employees.department og department.name;
  3. Derefter grupperer vi dataene efter type for at beregne den samlede løn ved hjælp af funktionen SUM().

Hvis dette virker komplekst, er her en simpel syntaks for at bruge JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column

Bemærk

I modsætning til UNION-klausulen gør JOIN-sætningen det muligt at kombinere hele tabeller, ikke kun de kolonner, de har til fælles. Desuden er der med JOIN ikke behov for underforespørgsler som med UNION.

Opgave

Swipe to start coding

Du skal sammenkæde de to tabeller: category og product. De fælles kolonner for disse to tabeller er product.category_id og category.id.

Din opgave er at finde det samlede antal produkter i hver kategori. For at gøre dette skal du beregne summen af kolonnen product.amount.

Brug aliaset total_amount for denne kolonne. I slutningen af din forespørgsel skal du sortere resultatet efter kolonnen total_amount i stigende rækkefølge.

I svaret skal du have 2 kolonner: category.name og total.amount.

Korte instruktioner

  • Hent kolonnen category.name og summen af kolonnen product.amount fra tabellen product.
  • Tildel aliaset total_amount til den anden kolonne.
  • Sammenkæd tabellen category ved hjælp af en JOIN-sætning.
  • Match tabellerne på den fælles kolonne product.category_id = category.id.
  • Gruppér resultaterne efter category.name.
  • Sortér resultaterne efter total_amount.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4

bookJoin 2 Tabeller

Stryg for at vise menuen

Vi har fået opmærksomheden fra en virksomhed, der ejer en lille onlinebutik. De har 2 tabeller, som er relateret til hinanden. Den første tabel indeholder information om de produkter, der sælges i onlinebutikken.

Sådan ser product-tabellen ud:

Den anden tabel indeholder produktkategorier på hjemmesiden samt en kort beskrivelse af hver kategori.

Sådan ser category-tabellen ud:

Vores første opgave er at forbinde disse to tabeller for at finde ud af, hvor mange produkter der er i hver kategori. Vi bruger en JOIN-sætning til dette formål.

Før vi går i gang med opgaven, skal vi forstå, hvad en JOIN-sætning er, og hvordan den fungerer.

For at sammenkæde to tabeller skal de dele en fælles kolonne. Lad os se, hvordan JOIN fungerer ved at bruge tabellerne employees og department. Deres fælles kolonne er employees.department og departments.name.

Bemærk

Når du skriver kolonner fra disse tabeller, start med tabelnavnet, tilføj et punktum, og derefter kolonnenavnet. Dette hjælper med at holde koden overskuelig, især når tabeller har kolonner med samme navn. Det fortæller SQL præcis, hvilken tabel og kolonne du mener.

Her er opgaven med at hente den samlede løn for medarbejdere i hver afdelingstype (tech/non-tech).

Forespørgslen til at udføre denne opgave vil se sådan ud:

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

Lad os gennemgå, hvordan vi brugte JOIN i vores forespørgsel:

  1. I SELECT-delen angiver vi de kolonner, vi ønsker fra begge tabeller, og sørger for at inkludere tabelnavnet for tydelighed;
  2. I JOIN-delen angiver vi tabellen, der skal sammenkædes, og fælles kolonne, der forbinder dem. Her er det employees.department og department.name;
  3. Derefter grupperer vi dataene efter type for at beregne den samlede løn ved hjælp af funktionen SUM().

Hvis dette virker komplekst, er her en simpel syntaks for at bruge JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column

Bemærk

I modsætning til UNION-klausulen gør JOIN-sætningen det muligt at kombinere hele tabeller, ikke kun de kolonner, de har til fælles. Desuden er der med JOIN ikke behov for underforespørgsler som med UNION.

Opgave

Swipe to start coding

Du skal sammenkæde de to tabeller: category og product. De fælles kolonner for disse to tabeller er product.category_id og category.id.

Din opgave er at finde det samlede antal produkter i hver kategori. For at gøre dette skal du beregne summen af kolonnen product.amount.

Brug aliaset total_amount for denne kolonne. I slutningen af din forespørgsel skal du sortere resultatet efter kolonnen total_amount i stigende rækkefølge.

I svaret skal du have 2 kolonner: category.name og total.amount.

Korte instruktioner

  • Hent kolonnen category.name og summen af kolonnen product.amount fra tabellen product.
  • Tildel aliaset total_amount til den anden kolonne.
  • Sammenkæd tabellen category ved hjælp af en JOIN-sætning.
  • Match tabellerne på den fælles kolonne product.category_id = category.id.
  • Gruppér resultaterne efter category.name.
  • Sortér resultaterne efter total_amount.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

close

Awesome!

Completion rate improved to 4
Sektion 3. Kapitel 1
single

single

some-alt