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 denNULLfö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 denNULLfö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 denNULLfö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:
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 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:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
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, ochenrollments.enrollment_datefråncoursestabellen. - Använd en LEFT JOIN för att ansluta
enrollmentstabellen. - Den gemensamma kolumnen för båda tabellerna är
courses.course_id = enrollments.course_id.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4
Left, Right och Inner Joins
Svep för att visa menyn
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 denNULLfö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 denNULLfö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 denNULLfö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:
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 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:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
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, ochenrollments.enrollment_datefråncoursestabellen. - Använd en LEFT JOIN för att ansluta
enrollmentstabellen. - Den gemensamma kolumnen för båda tabellerna är
courses.course_id = enrollments.course_id.
Lösning
Tack för dina kommentarer!
single