Venstre, Høyre og Indre Joins
Nettbutikken har bestilt flere produkter fra en leverandør fordi de begynte å gå tom for lager. Dette betyr at vi har litt fritid til forsendelsen ankommer.
La oss bruke denne muligheten til å lære noe nytt! Så langt har du brukt den standard JOIN i SQL, men det finnes andre typer joins du kan bruke.
Her er de 4 hovedtypene av tabell joins:
INNER JOIN: Returnerer rader med samsvarende verdier i begge tabellene. Dette er det samme som den standard JOIN du har brukt;
LEFT JOIN: Returnerer alle rader fra venstre tabell og de samsvarende radene fra høyre tabell. Hvis det ikke er noen samsvar, returnerer denNULLfor høyre tabell;
RIGHT JOIN: Returnerer alle rader fra høyre tabell og de samsvarende radene fra venstre tabell. Hvis det ikke er noen treff, returnerer denNULLfor venstre tabell;
FULL JOIN: Returnerer alle rader når det er en samsvar i en av tabellene. Hvis det ikke er noen samsvar, returnerer denNULLfor de manglende verdiene i den andre tabellen.
Før vi dykker inn i bruken av disse joinene, la oss se på de to tabellene vi skal jobbe med. De inneholder detaljer om kursene og studentene som er registrert i dem.
courses:
enrollments:
Syntaksen for å bruke disse typene av joins 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 registrert, inkludert kurs uten registrerte studenter.
Du må 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!
Kort instruksjon
- Hent kolonnene
courses.course_id,courses.course_name,courses.description,enrollments.student_name, ogenrollments.enrollment_datefracourses-tabellen. - Bruk en LEFT JOIN for å koble
enrollments-tabellen. - Den felles kolonnen 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 these types of joins with examples?
How do I decide which type of join to use in a specific scenario?
Can you show how these joins would work with the provided `courses` and `enrollments` tables?
Awesome!
Completion rate improved to 4
Venstre, Høyre og Indre 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 fritid til forsendelsen ankommer.
La oss bruke denne muligheten til å lære noe nytt! Så langt har du brukt den standard JOIN i SQL, men det finnes andre typer joins du kan bruke.
Her er de 4 hovedtypene av tabell joins:
INNER JOIN: Returnerer rader med samsvarende verdier i begge tabellene. Dette er det samme som den standard JOIN du har brukt;
LEFT JOIN: Returnerer alle rader fra venstre tabell og de samsvarende radene fra høyre tabell. Hvis det ikke er noen samsvar, returnerer denNULLfor høyre tabell;
RIGHT JOIN: Returnerer alle rader fra høyre tabell og de samsvarende radene fra venstre tabell. Hvis det ikke er noen treff, returnerer denNULLfor venstre tabell;
FULL JOIN: Returnerer alle rader når det er en samsvar i en av tabellene. Hvis det ikke er noen samsvar, returnerer denNULLfor de manglende verdiene i den andre tabellen.
Før vi dykker inn i bruken av disse joinene, la oss se på de to tabellene vi skal jobbe med. De inneholder detaljer om kursene og studentene som er registrert i dem.
courses:
enrollments:
Syntaksen for å bruke disse typene av joins 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 registrert, inkludert kurs uten registrerte studenter.
Du må 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!
Kort instruksjon
- Hent kolonnene
courses.course_id,courses.course_name,courses.description,enrollments.student_name, ogenrollments.enrollment_datefracourses-tabellen. - Bruk en LEFT JOIN for å koble
enrollments-tabellen. - Den felles kolonnen for begge tabellene er
courses.course_id = enrollments.course_id.
Løsning
Takk for tilbakemeldingene dine!
single