Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Left-, Right- ja Inner Joinit | Taulujen Yhdistäminen
Keskitaso SQL

bookLeft-, Right- ja Inner Joinit

Verkkokauppa on tilannut lisää tuotteita toimittajalta, koska varastossa oli vähän tuotteita jäljellä. Tämä tarkoittaa, että meillä on hieman vapaata aikaa ennen lähetyksen saapumista.

Hyödynnetään tämä tilaisuus uuden oppimiseen! Tähän asti olet käyttänyt SQL:n tavallista JOIN-liitosta, mutta käytettävissä on myös muita liitostyyppejä.

Tässä ovat neljä pääasiallista taulujen liitostyyppiä:

  • INNER JOIN: Palauttaa rivit, joissa molemmissa tauluissa on vastaavat arvot. Tämä vastaa käyttämääsi tavallista JOIN-liitosta;
  • LEFT JOIN: Palauttaa kaikki rivit vasemmasta taulusta ja vastaavat rivit oikeasta taulusta. Jos vastaavuutta ei löydy, oikean taulun arvoksi tulee NULL;
  • RIGHT JOIN: Palauttaa kaikki rivit oikeasta taulusta ja vastaavat rivit vasemmasta taulusta. Jos vastaavuutta ei löydy, vasemman taulun arvoksi tulee NULL;
  • FULL JOIN: Palauttaa kaikki rivit, kun jommassakummassa taulussa on osuma. Jos osumia ei ole, palauttaa NULL puuttuvien arvojen kohdalla toisessa taulussa.

Ennen kuin perehdymme näiden yhdistämisten käyttöön, tarkastellaan kahta taulua, joiden kanssa työskentelemme. Ne sisältävät tietoja kursseista ja niille ilmoittautuneista opiskelijoista.

courses:

enrollments:

Näiden liittymätyyppien syntaksi on itse asiassa yksinkertainen. Käytetyn JOIN- tai INNER JOIN -komennon sijaan määrittele vain LEFT JOIN tai muu haluamasi JOIN-tyyppi:

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
Tehtävä

Swipe to start coding

Kirjoita kysely, joka hakee luettelon kaikista kursseista ja niille ilmoittautuneista opiskelijoista, mukaan lukien kurssit, joilla ei ole yhtään rekisteröitynyttä opiskelijaa.

Sinun tulee hakea seuraavat sarakkeet tässä järjestyksessä:

courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date

Käytä tehtävään sopivaa JOIN-tyyppiä!

Lyhyet ohjeet

  • Hae sarakkeet courses.course_id, courses.course_name, courses.description, enrollments.student_name ja enrollments.enrollment_date taulusta courses.
  • Käytä LEFT JOIN -liitosta yhdistääksesi tauluun enrollments.
  • Yhteinen sarake molemmissa tauluissa on courses.course_id = enrollments.course_id.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 4

bookLeft-, Right- ja Inner Joinit

Pyyhkäise näyttääksesi valikon

Verkkokauppa on tilannut lisää tuotteita toimittajalta, koska varastossa oli vähän tuotteita jäljellä. Tämä tarkoittaa, että meillä on hieman vapaata aikaa ennen lähetyksen saapumista.

Hyödynnetään tämä tilaisuus uuden oppimiseen! Tähän asti olet käyttänyt SQL:n tavallista JOIN-liitosta, mutta käytettävissä on myös muita liitostyyppejä.

Tässä ovat neljä pääasiallista taulujen liitostyyppiä:

  • INNER JOIN: Palauttaa rivit, joissa molemmissa tauluissa on vastaavat arvot. Tämä vastaa käyttämääsi tavallista JOIN-liitosta;
  • LEFT JOIN: Palauttaa kaikki rivit vasemmasta taulusta ja vastaavat rivit oikeasta taulusta. Jos vastaavuutta ei löydy, oikean taulun arvoksi tulee NULL;
  • RIGHT JOIN: Palauttaa kaikki rivit oikeasta taulusta ja vastaavat rivit vasemmasta taulusta. Jos vastaavuutta ei löydy, vasemman taulun arvoksi tulee NULL;
  • FULL JOIN: Palauttaa kaikki rivit, kun jommassakummassa taulussa on osuma. Jos osumia ei ole, palauttaa NULL puuttuvien arvojen kohdalla toisessa taulussa.

Ennen kuin perehdymme näiden yhdistämisten käyttöön, tarkastellaan kahta taulua, joiden kanssa työskentelemme. Ne sisältävät tietoja kursseista ja niille ilmoittautuneista opiskelijoista.

courses:

enrollments:

Näiden liittymätyyppien syntaksi on itse asiassa yksinkertainen. Käytetyn JOIN- tai INNER JOIN -komennon sijaan määrittele vain LEFT JOIN tai muu haluamasi JOIN-tyyppi:

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
Tehtävä

Swipe to start coding

Kirjoita kysely, joka hakee luettelon kaikista kursseista ja niille ilmoittautuneista opiskelijoista, mukaan lukien kurssit, joilla ei ole yhtään rekisteröitynyttä opiskelijaa.

Sinun tulee hakea seuraavat sarakkeet tässä järjestyksessä:

courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date

Käytä tehtävään sopivaa JOIN-tyyppiä!

Lyhyet ohjeet

  • Hae sarakkeet courses.course_id, courses.course_name, courses.description, enrollments.student_name ja enrollments.enrollment_date taulusta courses.
  • Käytä LEFT JOIN -liitosta yhdistääksesi tauluun enrollments.
  • Yhteinen sarake molemmissa tauluissa on courses.course_id = enrollments.course_id.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

close

Awesome!

Completion rate improved to 4
Osio 3. Luku 5
single

single

some-alt