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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Intermediær 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.

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

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.

Inden 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.

Note
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åledes 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 angives de kolonner, der ønskes fra begge tabeller, med tabelnavn for tydelighed;
  2. I JOIN-delen angives den tabel, der skal sammenkædes, samt den fælles kolonne, der forbinder dem. Her er det employees.department og department.name;
  3. Dataene grupperes derefter efter type for at beregne den samlede løn ved hjælp af funktionen SUM().

Hvis dette virker komplekst, ses her en enkel syntaks for brug af JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Bemærk

I modsætning til UNION-klausulen giver JOIN-sætningen os mulighed for 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. Til sidst i 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

close

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.

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

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.

Inden 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.

Note
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åledes 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 angives de kolonner, der ønskes fra begge tabeller, med tabelnavn for tydelighed;
  2. I JOIN-delen angives den tabel, der skal sammenkædes, samt den fælles kolonne, der forbinder dem. Her er det employees.department og department.name;
  3. Dataene grupperes derefter efter type for at beregne den samlede løn ved hjælp af funktionen SUM().

Hvis dette virker komplekst, ses her en enkel syntaks for brug af JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Bemærk

I modsætning til UNION-klausulen giver JOIN-sætningen os mulighed for 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. Til sidst i 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!

Sektion 3. Kapitel 1
single

single

some-alt