Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære JOIN 2 Tabeller | Sammenføjning af Tabeller
Mellemliggende SQL

Stryg for at vise menuen

book
JOIN 2 Tabeller

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

Her er, hvordan product tabellen ser ud:

Den anden tabel indeholder produktkategorier på hjemmesiden, sammen med en kort beskrivelse for hver kategori.

Her er, hvordan category tabellen ser 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 vil bruge en JOIN erklæring for at opnå dette.

Før vi dykker ned i opgaven, lad os forstå, hvad en JOIN erklæring 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 hjælp af employees og department tabellerne. Deres fælles kolonne er employees.department og departments.name.

Bemærk

Når du skriver kolonner fra disse tabeller, skal du starte med tabellens navn, tilføje en prik, og derefter kolonnens navn. Dette hjælper med at holde koden klar, 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 for 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 bryde ned, hvordan vi brugte JOIN i vores forespørgsel:

  1. I SELECT-delen lister vi de kolonner, vi ønsker fra begge tabeller, og sørger for at inkludere tabellens navn for klarhed;

  2. I JOIN-delen specificerer vi tabellen at forbinde og den fælles kolonne, der forbinder dem. Her er det employees.department og department.name;

  3. Vi grupperer derefter dataene efter type for at beregne den samlede løn ved hjælp af SUM()-funktionen.

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

sql

Bemærk

I modsætning til UNION-klausulen, lader JOIN-sætningen os kombinere hele tabeller, ikke kun de kolonner, de deler. Plus, med JOIN er der ikke behov for subforespø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 af produkter i hver kategori. For at gøre dette skal du beregne summen af product.amount kolonnen.

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

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

Korte instruktioner

  • Hent category.name kolonnen og summen af product.amount kolonnen fra product tabellen.
  • Tildel aliaset total_amount til den anden kolonne.
  • Sammenkæd category tabellen 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

Spørg AI

expand
ChatGPT

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

book
JOIN 2 Tabeller

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

Her er, hvordan product tabellen ser ud:

Den anden tabel indeholder produktkategorier på hjemmesiden, sammen med en kort beskrivelse for hver kategori.

Her er, hvordan category tabellen ser 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 vil bruge en JOIN erklæring for at opnå dette.

Før vi dykker ned i opgaven, lad os forstå, hvad en JOIN erklæring 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 hjælp af employees og department tabellerne. Deres fælles kolonne er employees.department og departments.name.

Bemærk

Når du skriver kolonner fra disse tabeller, skal du starte med tabellens navn, tilføje en prik, og derefter kolonnens navn. Dette hjælper med at holde koden klar, 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 for 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 bryde ned, hvordan vi brugte JOIN i vores forespørgsel:

  1. I SELECT-delen lister vi de kolonner, vi ønsker fra begge tabeller, og sørger for at inkludere tabellens navn for klarhed;

  2. I JOIN-delen specificerer vi tabellen at forbinde og den fælles kolonne, der forbinder dem. Her er det employees.department og department.name;

  3. Vi grupperer derefter dataene efter type for at beregne den samlede løn ved hjælp af SUM()-funktionen.

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

sql

Bemærk

I modsætning til UNION-klausulen, lader JOIN-sætningen os kombinere hele tabeller, ikke kun de kolonner, de deler. Plus, med JOIN er der ikke behov for subforespø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 af produkter i hver kategori. For at gøre dette skal du beregne summen af product.amount kolonnen.

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

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

Korte instruktioner

  • Hent category.name kolonnen og summen af product.amount kolonnen fra product tabellen.
  • Tildel aliaset total_amount til den anden kolonne.
  • Sammenkæd category tabellen 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
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt