Linh Ngo
Nodejs developer. Working in a tech education company - Techmastervn with a vision to promote STEM and provide valuable as well as affordable IT training to students and young adults
(e.g. MongoDB, couchDB)
(e.g. Postgres, mySQL)
| product | count | store | address |
|---|---|---|---|
| samsung S8 | 15 | fpt store 1 | số 1 hàng gai |
| samsung note 8 | 20 | viettel store 1 | số 9 bà triệu |
Ví dụ: cột address bổ trợ cho store chứ không phải primary key là product
Tách thành 2 bảng
| product | count | store |
|---|---|---|
| s8 | 15 | fpt store 1 |
| note 8 | 20 | viettel store 1 |
| store | address |
|---|---|
| fpt store 1 | số 1 hàng gai |
| viettel store 1 | số 9 bà triệu |
| Employee | Technology skill | Language skill |
|---|---|---|
| Anna | Nodejs | English |
| Anna | Linux | French |
| David | Vuejs | French |
Bảng job_skill: Anna biết Nodejs và English nhưng technology & language không có mối quan hệ đặc thù nào hết
Tách thành 2 bảng tech_skill & language_skill
| Employee | Skill |
|---|---|
| Anna | Nodejs |
| Anna | Linux |
| David | Vuejs |
| Employee | Skill |
|---|---|
| Anna | English |
| Anna | French |
| David | French |
Đếm số lượng mỗi sản phẩm đc bán ?
select products.sku, count(*) as num,
sum(sales.count) as sales_num
from products join sales
on products.sku = sales.sku
group by products.sku;select products.name, products.sku,
count(sales.sku) as num,
sum(sales.count) as sales_num
from products left join sales
on products.sku = sales.sku
group by products.sku;Sử dụng left join và count(sales.sku)
Lỗi dễ mắc
| sku | num | sales_num |
|---|---|---|
| 222 | 2 | 8 |
| 343 | 1 | 1 |
| sku | num | sales_num |
|---|---|---|
| 222 | 2 | 8 |
| 343 | 1 | 1 |
| 101 | 0 | 0 |
| 1025 | 0 | 0 |
By Linh Ngo