Left-, 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 sekä vastaavat rivit oikeasta taulusta. Jos vastaavuutta ei ole, oikean taulun arvoksi tulee NULL
:
RIGHT JOIN
: Palauttaa kaikki rivit oikeasta taulusta sekä vastaavat rivit vasemmasta taulusta. Jos vastaavuutta ei ole, vasemman taulun arvoksi tulee NULL
:
FULL JOIN
: Palauttaa kaikki rivit, kun vastaavuus löytyy jommastakummasta taulusta. Jos vastaavuutta ei löydy, palautetaan NULL
puuttuvien arvojen kohdalle toisessa taulussa:
Ennen kuin siirrytään 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
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
jaenrollments.enrollment_date
taulustacourses
. - Käytä LEFT JOIN -liitosta tauluun
enrollments
. - Yhteinen sarake molemmissa tauluissa on
courses.course_id = enrollments.course_id
.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4
Left-, 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 sekä vastaavat rivit oikeasta taulusta. Jos vastaavuutta ei ole, oikean taulun arvoksi tulee NULL
:
RIGHT JOIN
: Palauttaa kaikki rivit oikeasta taulusta sekä vastaavat rivit vasemmasta taulusta. Jos vastaavuutta ei ole, vasemman taulun arvoksi tulee NULL
:
FULL JOIN
: Palauttaa kaikki rivit, kun vastaavuus löytyy jommastakummasta taulusta. Jos vastaavuutta ei löydy, palautetaan NULL
puuttuvien arvojen kohdalle toisessa taulussa:
Ennen kuin siirrytään 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
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
jaenrollments.enrollment_date
taulustacourses
. - Käytä LEFT JOIN -liitosta tauluun
enrollments
. - Yhteinen sarake molemmissa tauluissa on
courses.course_id = enrollments.course_id
.
Ratkaisu
Kiitos palautteestasi!
single