Left, Right og Inner Joins
Webshoppen har bestilt flere produkter fra en leverandør, fordi lagerbeholdningen var ved at være lav. 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:
LEFT JOIN: Returnerer alle rækker fra venstre tabel og de matchende rækker fra højre tabel. Hvis der ikke er nogen match, returneres 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, returneres 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 går i gang med at bruge 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 af 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
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_nameogenrollments.enrollment_datefra tabellencourses. - 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
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Fantastisk!
Completion rate forbedret til 4
Left, Right og Inner Joins
Stryg for at vise menuen
Webshoppen har bestilt flere produkter fra en leverandør, fordi lagerbeholdningen var ved at være lav. 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:
LEFT JOIN: Returnerer alle rækker fra venstre tabel og de matchende rækker fra højre tabel. Hvis der ikke er nogen match, returneres 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, returneres 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 går i gang med at bruge 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 af 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
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_nameogenrollments.enrollment_datefra tabellencourses. - 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
Tak for dine kommentarer!
single