์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SQL ๊ณ ๋์ Kit
- LeetCode
- ํ๊ณ
- ํ ์ต
- python
- 2์ฃผ ํ๋ก์ ํธ
- ์ ๋ก์ด
- ํ์ ์คํฌ๋ฆฝํธ
- ํ๋ก๊ทธ๋๋จธ์ค
- 4์ฃผ ํ๋ก์ ํธ
- ์๊ณ ๋ฆฌ์ฆ
- ๋ ์ธ ๊ธฐ๋ฆฟ ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฝ์ด ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฝ๋์คํ ์ด์ธ
- codestates
- til
- Async
- ๋ฆฌํธ์ฝ๋
- ์ ์ฌ๋จ
- ํ์ ์คํฌ๋ฆฝํธ ์ฌ์ธ์
- javascript
- ์๋ฐ์คํฌ๋ฆฝํธ
- programmers
- ์์ ์ตํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋คํธ์ํฌ ์ฒซ๊ฑธ์
- ํ์ด์ฌ
- ํ์์ดํ
- ๋ฆฌ์กํธ
- js
- ๋ฆฌ๋์ค
- ๋ฐฑ์ค
- Today
- Total
Jerry
[ํ๋ก๊ทธ๋๋จธ์ค/SQL ๊ณ ๋์ Kit] ๋ , ์, ์ฑ๋ณ ๋ณ ์ํ ๊ตฌ๋งค ํ์ ์ ๊ตฌํ๊ธฐ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค/SQL ๊ณ ๋์ Kit] ๋ , ์, ์ฑ๋ณ ๋ณ ์ํ ๊ตฌ๋งค ํ์ ์ ๊ตฌํ๊ธฐ
juicyjerry 2023. 11. 7. 15:01๐ช๋ฌธ์
USER_INFO ํ
์ด๋ธ๊ณผ ONLINE_SALE ํ
์ด๋ธ์์ ๋
, ์, ์ฑ๋ณ ๋ณ๋ก ์ํ์ ๊ตฌ๋งคํ ํ์์๋ฅผ ์ง๊ณํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ๋
, ์, ์ฑ๋ณ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์. ์ด๋, ์ฑ๋ณ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ์์ ์ ์ธํด์ฃผ์ธ์.
๐ช ๋์ ์ ๋ต
SELECT YEAR(B.SALES_DATE) AS "YEAR", MONTH(B.SALES_DATE) AS "MONTH", A.GENDER, COUNT(DISTINCT B.USER_ID) AS "USERS"
FROM USER_INFO AS A
JOIN ONLINE_SALE AS B
ON A.USER_ID = B.USER_ID
WHERE A.GENDER IS NOT NULL
GROUP BY YEAR, MONTH, A.GENDER
ORDER BY 1, 2, 3;
๐ช ๋ค๋ฅธ ์ ๋ต
- ...
๐ช ๋ฐฐ์ด ์
WHERE์ผ๋ก ํํฐ๋งํ๋ ๊ฒ๊ณผ JOIN์ ON์ผ๋ก ํํฐ๋งํ๋ ๊ฒ์ ์ฐจ์ด
# ON์ ์ ๊ฒฝ์ฐ, ONLINESALE.USERID = USERINFO.USERID AND GENDER IS NOT NULL ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ง JOINํ์ฌ ๋ณด๋ค ์ ์ ๋ฐ์ดํฐ๋ค๋ง ๊ฐ์ ธ์ค๊ฒ๋ฉ๋๋ค.
# WHERE์ ์ ๊ฒฝ์ฐ, ์กฐ์ธ ํ ๋ง์ง๋ง์ ํํฐ๋ง์ ํฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ง์ ์๋ก ํํฐ๋ง ์๊ฐ์ด ๊ธธ์ด์ง๋๋ค.
์ฆ, JOIN์ ํจ๊ณผ์ ์ผ๋ก ํ๊ธฐ ์ํด์ WHERE์ ๋ณด๋ค๋ ON์ ์ ํ๋ ๊ฒ ๋ ํจ์จ์ ์ธ ์ฟผ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
JOINํ๋ ํ ์ด๋ธ์ด 10๊ฐ์ ๋๋ก ์์ฒญ ๋ง๋ค๊ณ ๊ฐ์ ํ ๋ ON์ ์ ์ ์ ํ ์ฌ์ฉํ์ง ์์ผ๋ฉด,
์์ฒญ๋๊ฒ ๋ฐฉ๋ํ ๋ฐ์ดํฐ๋ฅผ WHERE๋ฌธ์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
๐ช ๋ง์น๋ฉด์
๋ค์์๋ ๋ค๋ฅธ ๋ฌธ์ ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค!
์๋ :))