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 | Slå Sammen Tabeller
Videregående SQL

bookLeft, 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
Oppgave

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_name og enrollments.enrollment_date fra tabellen courses.
  • Bruk en LEFT JOIN for å koble til tabellen enrollments.
  • Felles kolonne for begge tabellene er courses.course_id = enrollments.course_id.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4

bookLeft, 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
Oppgave

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_name og enrollments.enrollment_date fra tabellen courses.
  • Bruk en LEFT JOIN for å koble til tabellen enrollments.
  • Felles kolonne for begge tabellene er courses.course_id = enrollments.course_id.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5
single

single

some-alt