Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Left, Right og Inner Joins | Sammenkædning af Tabeller
Mellemliggende SQL

bookLeft, Right og Inner Joins

Onlinebutikken har bestilt flere produkter fra en leverandør, fordi de var ved at løbe tør for lager. Det betyder, at vi har lidt fritid, indtil leveringen ankommer.

Lad os bruge denne mulighed til at lære noget nyt! Indtil nu har du brugt den standard JOIN i SQL, men der findes andre typer joins, du kan anvende.

Her er de 4 hovedtyper af tabel-joins:

  • INNER JOIN: Returnerer rækker med matchende værdier i begge tabeller. Dette svarer til den standard JOIN, du har brugt indtil nu;
  • LEFT JOIN: Returnerer alle rækker fra venstre tabel og de matchende rækker fra højre tabel. Hvis der ikke er nogen match, returnerer den NULL for højre tabel;
  • RIGHT JOIN: Returnerer alle rækker fra højre tabel og de matchende rækker fra venstre tabel. Hvis der ikke er nogen match, returnerer den NULL for venstre tabel;
  • FULL JOIN: Returnerer alle rækker, når der er et match i en af tabellerne. Hvis der ikke er nogen match, returnerer den NULL for de manglende værdier i den anden tabel.

Før vi dykker ned i brugen af disse joins, skal vi se på de to tabeller, vi skal arbejde med. De indeholder oplysninger om kurser og de studerende, der er tilmeldt dem.

courses:

enrollments:

Syntaksen for at bruge disse typer joins er faktisk enkel. I stedet for det velkendte JOIN eller INNER JOIN, skal du blot angive LEFT JOIN eller en anden type JOIN:

SELECT table1.column, table2.column 
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Opgave

Swipe to start coding

Skriv en forespørgsel for at hente en liste over alle kurser og de tilmeldte studerende, inklusive kurser uden registrerede studerende.

Du skal hente følgende kolonner i denne rækkefølge:

courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date

Brug den passende type JOIN for at løse denne opgave!

Korte instruktioner

  • Hent kolonnerne courses.course_id, courses.course_name, courses.description, enrollments.student_name og enrollments.enrollment_date fra tabellen courses.
  • Brug et LEFT JOIN til at sammenkæde tabellen enrollments.
  • Den fælles kolonne for begge tabeller er courses.course_id = enrollments.course_id.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
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

Awesome!

Completion rate improved to 4

bookLeft, Right og Inner Joins

Stryg for at vise menuen

Onlinebutikken har bestilt flere produkter fra en leverandør, fordi de var ved at løbe tør for lager. Det betyder, at vi har lidt fritid, indtil leveringen ankommer.

Lad os bruge denne mulighed til at lære noget nyt! Indtil nu har du brugt den standard JOIN i SQL, men der findes andre typer joins, du kan anvende.

Her er de 4 hovedtyper af tabel-joins:

  • INNER JOIN: Returnerer rækker med matchende værdier i begge tabeller. Dette svarer til den standard JOIN, du har brugt indtil nu;
  • LEFT JOIN: Returnerer alle rækker fra venstre tabel og de matchende rækker fra højre tabel. Hvis der ikke er nogen match, returnerer den NULL for højre tabel;
  • RIGHT JOIN: Returnerer alle rækker fra højre tabel og de matchende rækker fra venstre tabel. Hvis der ikke er nogen match, returnerer den NULL for venstre tabel;
  • FULL JOIN: Returnerer alle rækker, når der er et match i en af tabellerne. Hvis der ikke er nogen match, returnerer den NULL for de manglende værdier i den anden tabel.

Før vi dykker ned i brugen af disse joins, skal vi se på de to tabeller, vi skal arbejde med. De indeholder oplysninger om kurser og de studerende, der er tilmeldt dem.

courses:

enrollments:

Syntaksen for at bruge disse typer joins er faktisk enkel. I stedet for det velkendte JOIN eller INNER JOIN, skal du blot angive LEFT JOIN eller en anden type JOIN:

SELECT table1.column, table2.column 
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Opgave

Swipe to start coding

Skriv en forespørgsel for at hente en liste over alle kurser og de tilmeldte studerende, inklusive kurser uden registrerede studerende.

Du skal hente følgende kolonner i denne rækkefølge:

courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date

Brug den passende type JOIN for at løse denne opgave!

Korte instruktioner

  • Hent kolonnerne courses.course_id, courses.course_name, courses.description, enrollments.student_name og enrollments.enrollment_date fra tabellen courses.
  • Brug et LEFT JOIN til at sammenkæde tabellen enrollments.
  • Den fælles kolonne for begge tabeller er courses.course_id = enrollments.course_id.

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 5
single

single

some-alt