Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Left, Right och Inner Joins | Sammanfoga Tabeller
Intermediär SQL

Svep för att visa menyn

book
Left, Right och Inner Joins

Nätbutiken har beställt fler produkter från en leverantör eftersom de hade lågt lager. Detta innebär att vi har lite ledig tid tills leveransen anländer.

Låt oss använda denna möjlighet för att lära oss något nytt! Hittills har du använt standard JOIN i SQL, men det finns andra typer av joins du kan använda.

Här är de 4 huvudtyperna av tabelljoins:

  • INNER JOIN: Returnerar rader med matchande värden i båda tabellerna. Detta är samma som den standard JOIN du har använt;

  • LEFT JOIN: Returnerar alla rader från den vänstra tabellen och de matchande raderna från den högra tabellen. Om det inte finns några matchningar returnerar den NULL för den högra tabellen;

  • RIGHT JOIN: Returnerar alla rader från den högra tabellen och de matchande raderna från den vänstra tabellen. Om det inte finns några matchningar returnerar den NULL för den vänstra tabellen;

  • FULL JOIN: Returnerar alla rader när det finns en matchning i en av tabellerna. Om det inte finns några matchningar returnerar den NULL för de saknade värdena i den andra tabellen.

Innan vi dyker in i att använda dessa joins, låt oss kolla på de två tabellerna vi kommer att arbeta med. De innehåller detaljer om kurser och de studenter som är inskrivna i dem.

courses:

enrollments:

Syntaxen för att använda dessa typer av joins är faktiskt enkel. Istället för det bekanta JOIN eller INNER JOIN, specificera bara LEFT JOIN eller någon annan typ av JOIN:

sql
Uppgift

Swipe to start coding

Skriv en fråga för att hämta en lista över alla kurser och de studenter som är inskrivna, inklusive kurser utan registrerade studenter.

Du behöver hämta följande kolumner i denna ordning:

bash

Använd den lämpliga typen av JOIN för att lösa denna uppgift!

Kortfattade instruktioner

  • Hämta kolumnerna courses.course_id, courses.course_name, courses.description, enrollments.student_name, och enrollments.enrollment_date från courses tabellen.
  • Använd en LEFT JOIN för att ansluta enrollments tabellen.
  • Den gemensamma kolumnen för båda tabellerna är courses.course_id = enrollments.course_id.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Left, Right och Inner Joins

Nätbutiken har beställt fler produkter från en leverantör eftersom de hade lågt lager. Detta innebär att vi har lite ledig tid tills leveransen anländer.

Låt oss använda denna möjlighet för att lära oss något nytt! Hittills har du använt standard JOIN i SQL, men det finns andra typer av joins du kan använda.

Här är de 4 huvudtyperna av tabelljoins:

  • INNER JOIN: Returnerar rader med matchande värden i båda tabellerna. Detta är samma som den standard JOIN du har använt;

  • LEFT JOIN: Returnerar alla rader från den vänstra tabellen och de matchande raderna från den högra tabellen. Om det inte finns några matchningar returnerar den NULL för den högra tabellen;

  • RIGHT JOIN: Returnerar alla rader från den högra tabellen och de matchande raderna från den vänstra tabellen. Om det inte finns några matchningar returnerar den NULL för den vänstra tabellen;

  • FULL JOIN: Returnerar alla rader när det finns en matchning i en av tabellerna. Om det inte finns några matchningar returnerar den NULL för de saknade värdena i den andra tabellen.

Innan vi dyker in i att använda dessa joins, låt oss kolla på de två tabellerna vi kommer att arbeta med. De innehåller detaljer om kurser och de studenter som är inskrivna i dem.

courses:

enrollments:

Syntaxen för att använda dessa typer av joins är faktiskt enkel. Istället för det bekanta JOIN eller INNER JOIN, specificera bara LEFT JOIN eller någon annan typ av JOIN:

sql
Uppgift

Swipe to start coding

Skriv en fråga för att hämta en lista över alla kurser och de studenter som är inskrivna, inklusive kurser utan registrerade studenter.

Du behöver hämta följande kolumner i denna ordning:

bash

Använd den lämpliga typen av JOIN för att lösa denna uppgift!

Kortfattade instruktioner

  • Hämta kolumnerna courses.course_id, courses.course_name, courses.description, enrollments.student_name, och enrollments.enrollment_date från courses tabellen.
  • Använd en LEFT JOIN för att ansluta enrollments tabellen.
  • Den gemensamma kolumnen för båda tabellerna är courses.course_id = enrollments.course_id.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt