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.departmentjadepartment.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.idperusteella. - Ryhmittele tulokset
category.namemukaan. - Lajittele tulokset
total_amountmukaan.
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.departmentjadepartment.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.idperusteella. - Ryhmittele tulokset
category.namemukaan. - Lajittele tulokset
total_amountmukaan.
Ratkaisu
Kiitos palautteestasi!
single