Yhdistä 2 Taulua
Olemme saaneet huomion yritykseltä, joka omistaa pienen verkkokaupan. Heillä on 2 taulua, jotka liittyvät toisiinsa. Ensimmäinen taulu sisältää tietoja verkkokaupassa myytävistä tuotteista.
Tältä näyttää product
-taulu:
Toinen taulu sisältää verkkosivuston tuotekategoriat sekä lyhyen kuvauksen jokaisesta kategoriasta.
Tältä näyttää category
-taulu:
Ensimmäinen tehtävämme on liittää nämä kaksi taulua yhteen selvittääksemme, kuinka monta tuotetta kuuluu kuhunkin kategoriaan. Käytämme tähän JOIN
-lausetta.
Ennen tehtävään siirtymistä tutustutaan siihen, mitä JOIN
-lause tarkoittaa ja miten se toimii.
Kahden taulun yhdistämiseksi niiden tulee jakaa yhteinen sarake. Katsotaanpa, miten JOIN
toimii käyttämällä employees
- ja department
-tauluja. Niiden yhteinen sarake on employees.department
ja departments.name
.
Huomio
Kun kirjoitat näiden taulujen sarakkeita, aloita taulun nimellä, lisää piste ja sitten sarakkeen nimi. Tämä auttaa pitämään koodin selkeänä, erityisesti silloin kun tauluissa on samannimisiä sarakkeita. Se kertoo SQL:lle tarkalleen, mitä taulua ja saraketta tarkoitat.
Tässä on tehtävänä hakea kokonaispalkka työntekijöille jokaisessa osastotyypissä (tech
/non-tech
).
Tätä tehtävää varten kysely näyttää tältä:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Käydään läpi, miten käytimme JOIN
-lausetta kyselyssämme:
SELECT
-osassa luetellaan sarakkeet, jotka halutaan molemmista tauluista, ja varmistetaan, että taulun nimi mainitaan selkeyden vuoksi;JOIN
-osassa määritellään liitettävä taulu ja yhteinen sarake, joka yhdistää ne. Tässä tapauksessa kyseessä ovatemployees.department
jadepartment.name
;- Tämän jälkeen ryhmitellään tiedot
type
-sarakkeen mukaan ja lasketaan kokonaispalkka käyttämälläSUM()
-funktiota.
Jos tämä vaikuttaa monimutkaiselta, tässä on yksinkertainen JOIN
-syntaksi:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Huomio
Toisin kuin
UNION
-lause,JOIN
-lauseella voidaan yhdistää kokonaisia tauluja, ei vain yhteisiä sarakkeita. LisäksiJOIN
-lauseessa ei tarvita alikyselyitä kutenUNION
-lauseessa.
Swipe to start coding
Sinun tulee yhdistää kaksi taulua: category
ja product
. Näiden taulujen yhteiset sarakkeet ovat product.category_id
ja category.id
.
Tehtävänäsi on selvittää tuotteiden kokonaismäärä jokaisessa kategoriassa. Tätä varten sinun tulee laskea yhteen product.amount
-sarakkeen arvot.
Käytä tälle sarakkeelle aliasta total_amount
.
Lajittele kyselyn lopputulos total_amount
-sarakkeen mukaan nousevaan järjestykseen.
Vastauksessa tulee olla kaksi saraketta: category.name
ja total.amount
.
Lyhyet ohjeet
- Hae
category.name
-sarake japroduct.amount
-sarakkeen summaproduct
-taulusta. - Anna toiselle sarakkeelle aliaksen nimi
total_amount
. - Yhdistä
category
-taulu käyttämälläJOIN
-lausetta. - Yhdistä taulut yhteisen sarakkeen
product.category_id = category.id
perusteella. - Ryhmittele tulokset
category.name
mukaan. - Lajittele tulokset
total_amount
mukaan.
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
Yhdistä 2 Taulua
Pyyhkäise näyttääksesi valikon
Olemme saaneet huomion yritykseltä, joka omistaa pienen verkkokaupan. Heillä on 2 taulua, jotka liittyvät toisiinsa. Ensimmäinen taulu sisältää tietoja verkkokaupassa myytävistä tuotteista.
Tältä näyttää product
-taulu:
Toinen taulu sisältää verkkosivuston tuotekategoriat sekä lyhyen kuvauksen jokaisesta kategoriasta.
Tältä näyttää category
-taulu:
Ensimmäinen tehtävämme on liittää nämä kaksi taulua yhteen selvittääksemme, kuinka monta tuotetta kuuluu kuhunkin kategoriaan. Käytämme tähän JOIN
-lausetta.
Ennen tehtävään siirtymistä tutustutaan siihen, mitä JOIN
-lause tarkoittaa ja miten se toimii.
Kahden taulun yhdistämiseksi niiden tulee jakaa yhteinen sarake. Katsotaanpa, miten JOIN
toimii käyttämällä employees
- ja department
-tauluja. Niiden yhteinen sarake on employees.department
ja departments.name
.
Huomio
Kun kirjoitat näiden taulujen sarakkeita, aloita taulun nimellä, lisää piste ja sitten sarakkeen nimi. Tämä auttaa pitämään koodin selkeänä, erityisesti silloin kun tauluissa on samannimisiä sarakkeita. Se kertoo SQL:lle tarkalleen, mitä taulua ja saraketta tarkoitat.
Tässä on tehtävänä hakea kokonaispalkka työntekijöille jokaisessa osastotyypissä (tech
/non-tech
).
Tätä tehtävää varten kysely näyttää tältä:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Käydään läpi, miten käytimme JOIN
-lausetta kyselyssämme:
SELECT
-osassa luetellaan sarakkeet, jotka halutaan molemmista tauluista, ja varmistetaan, että taulun nimi mainitaan selkeyden vuoksi;JOIN
-osassa määritellään liitettävä taulu ja yhteinen sarake, joka yhdistää ne. Tässä tapauksessa kyseessä ovatemployees.department
jadepartment.name
;- Tämän jälkeen ryhmitellään tiedot
type
-sarakkeen mukaan ja lasketaan kokonaispalkka käyttämälläSUM()
-funktiota.
Jos tämä vaikuttaa monimutkaiselta, tässä on yksinkertainen JOIN
-syntaksi:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Huomio
Toisin kuin
UNION
-lause,JOIN
-lauseella voidaan yhdistää kokonaisia tauluja, ei vain yhteisiä sarakkeita. LisäksiJOIN
-lauseessa ei tarvita alikyselyitä kutenUNION
-lauseessa.
Swipe to start coding
Sinun tulee yhdistää kaksi taulua: category
ja product
. Näiden taulujen yhteiset sarakkeet ovat product.category_id
ja category.id
.
Tehtävänäsi on selvittää tuotteiden kokonaismäärä jokaisessa kategoriassa. Tätä varten sinun tulee laskea yhteen product.amount
-sarakkeen arvot.
Käytä tälle sarakkeelle aliasta total_amount
.
Lajittele kyselyn lopputulos total_amount
-sarakkeen mukaan nousevaan järjestykseen.
Vastauksessa tulee olla kaksi saraketta: category.name
ja total.amount
.
Lyhyet ohjeet
- Hae
category.name
-sarake japroduct.amount
-sarakkeen summaproduct
-taulusta. - Anna toiselle sarakkeelle aliaksen nimi
total_amount
. - Yhdistä
category
-taulu käyttämälläJOIN
-lausetta. - Yhdistä taulut yhteisen sarakkeen
product.category_id = category.id
perusteella. - Ryhmittele tulokset
category.name
mukaan. - Lajittele tulokset
total_amount
mukaan.
Ratkaisu
Kiitos palautteestasi!
Awesome!
Completion rate improved to 4single