Left, Right og Inner Joins
Nettbutikken har bestilt flere produkter fra en leverandør fordi de begynte å gå tom for lager. Dette betyr at vi har litt ledig tid til leveransen ankommer.
La oss bruke denne muligheten til å lære noe nytt! Så langt har du brukt standard JOIN i SQL, men det finnes andre typer sammenkoblinger du kan bruke.
Her er de 4 hovedtypene av tabell-sammenkoblinger:
INNER JOIN: Returnerer rader med samsvarende verdier i begge tabeller. Dette er det samme som standard JOIN du har brukt:
LEFT JOIN: Returnerer alle rader fra venstre tabell og de samsvarende radene fra høyre tabell. Hvis det ikke finnes samsvar, returnerer den NULL for høyre tabell:
RIGHT JOIN: Returnerer alle rader fra høyre tabell og de samsvarende radene fra venstre tabell. Hvis det ikke finnes samsvar, returnerer den NULL for venstre tabell:
FULL JOIN: Returnerer alle rader når det finnes en match i ett av tabellene. Hvis det ikke finnes noen match, returnerer den NULL for de manglende verdiene i den andre tabellen:
Før vi ser nærmere på hvordan disse join-typene brukes, skal vi se på de to tabellene vi skal jobbe med. De inneholder detaljer om kurs og studentene som er påmeldt dem.
courses:
enrollments:
Syntaksen for å bruke disse typene join er faktisk enkel. I stedet for den kjente JOIN eller INNER JOIN, spesifiser bare LEFT JOIN eller en annen 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 spørring for å hente en liste over alle kurs og studentene som er påmeldt, inkludert kurs uten registrerte studenter.
Du skal hente følgende kolonner i denne rekkefølgen:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Bruk riktig type JOIN for å løse denne oppgaven!
Korte instruksjoner
- Hent kolonnene
courses.course_id,courses.course_name,courses.description,enrollments.student_nameogenrollments.enrollment_datefra tabellencourses. - Bruk en LEFT JOIN for å koble til tabellen
enrollments. - Felles kolonne for begge tabellene er
courses.course_id = enrollments.course_id.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the differences between each type of join with examples?
How do I decide which type of join to use in a specific scenario?
Can you show how to join the `courses` and `enrollments` tables using one of these joins?
Awesome!
Completion rate improved to 4
Left, Right og Inner Joins
Sveip for å vise menyen
Nettbutikken har bestilt flere produkter fra en leverandør fordi de begynte å gå tom for lager. Dette betyr at vi har litt ledig tid til leveransen ankommer.
La oss bruke denne muligheten til å lære noe nytt! Så langt har du brukt standard JOIN i SQL, men det finnes andre typer sammenkoblinger du kan bruke.
Her er de 4 hovedtypene av tabell-sammenkoblinger:
INNER JOIN: Returnerer rader med samsvarende verdier i begge tabeller. Dette er det samme som standard JOIN du har brukt:
LEFT JOIN: Returnerer alle rader fra venstre tabell og de samsvarende radene fra høyre tabell. Hvis det ikke finnes samsvar, returnerer den NULL for høyre tabell:
RIGHT JOIN: Returnerer alle rader fra høyre tabell og de samsvarende radene fra venstre tabell. Hvis det ikke finnes samsvar, returnerer den NULL for venstre tabell:
FULL JOIN: Returnerer alle rader når det finnes en match i ett av tabellene. Hvis det ikke finnes noen match, returnerer den NULL for de manglende verdiene i den andre tabellen:
Før vi ser nærmere på hvordan disse join-typene brukes, skal vi se på de to tabellene vi skal jobbe med. De inneholder detaljer om kurs og studentene som er påmeldt dem.
courses:
enrollments:
Syntaksen for å bruke disse typene join er faktisk enkel. I stedet for den kjente JOIN eller INNER JOIN, spesifiser bare LEFT JOIN eller en annen 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 spørring for å hente en liste over alle kurs og studentene som er påmeldt, inkludert kurs uten registrerte studenter.
Du skal hente følgende kolonner i denne rekkefølgen:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Bruk riktig type JOIN for å løse denne oppgaven!
Korte instruksjoner
- Hent kolonnene
courses.course_id,courses.course_name,courses.description,enrollments.student_nameogenrollments.enrollment_datefra tabellencourses. - Bruk en LEFT JOIN for å koble til tabellen
enrollments. - Felles kolonne for begge tabellene er
courses.course_id = enrollments.course_id.
Løsning
Takk for tilbakemeldingene dine!
single