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 | Sammenføjning af Tabeller
Mellemliggende SQL

book
Left, Right og Inner Joins

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

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

Her er de 4 hovedtyper af tabel joins:

  • INNER JOIN: Returnerer rækker med matchende værdier i begge tabeller. Dette er det samme som den standard JOIN, du har brugt;

  • LEFT JOIN: Returnerer alle rækker fra den venstre tabel og de matchende rækker fra den højre tabel. Hvis der ikke er nogen match, returnerer den NULL for den højre tabel;

  • RIGHT JOIN: Returnerer alle rækker fra den højre tabel og de matchende rækker fra den venstre tabel. Hvis der ikke er nogen match, returnerer den NULL for den 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 at bruge disse joins, lad os se på de to tabeller, vi skal arbejde med. De indeholder detaljer om kurserne og de studerende, der er tilmeldt dem.

courses:

enrollments:

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

sql
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:

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

Brug den passende type JOIN til 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 courses tabellen.
  • Brug en LEFT JOIN til at forbinde enrollments tabellen.
  • Den fælles kolonne for begge tabeller er courses.course_id = enrollments.course_id.

Løsning

SELECT
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
FROM courses
LEFT JOIN enrollments
ON courses.course_id = enrollments.course_id;

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
single

single


Query ResultQuery Result
No query executed yet...

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

We use cookies to make your experience better!
some-alt