ํฐ์คํ ๋ฆฌ ๋ทฐ
#1์์๋ ํต์ฌ์ ์ธ ํค์๋๋ฅผ ์ ๋ฆฌํ๊ณ
#2์์๋ ํ๋ก๊ทธ๋๋จธ์ค SQL ๊ณ ๋์ kit Level 3~4 ๋ฌธ์ ๋ช๊ฐ๋ฅผ ๋ค๋ฃจ๋ฉด์ ์์ฃผ ์ฌ์ฉํ๋ ํจ์๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
๊ฐ๋จํ๊ฒ ํค์๋๋ค์ ์ ๋ฆฌํ๊ณ ๋ง์ง๋ง์ ์ด๋ค์ ์ ํฉํ๊ฒ ์ฌ์ฉํ๋ ๋ฒ์ ์ ๋ฆฌํ ๊ฒ์ด๋ค.
ORDER BY
SELECT *
FROM ํ
์ด๋ธ๋ช
ORDER BY ์ปฌ๋ผ๋ช
(ASC)
ํน์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ.
๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์(ASC) ์ ๋ ฌ
SELECT *
FROM ํ
์ด๋ธ๋ช
ORDER BY ์นผ๋ผ1, ์นผ๋ผ2 DESC
์ ๋ฐฉ์์ฒ๋ผ ์ฌ๋ฌ ์นผ๋ผ์ ์ ์ฉํ ์๋ ์๋ค.
GROUP BY, HAVING
SELECT id, COUNT(*)
FROM member
GROUP BY id
HAVING id > 3
ํน์ ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๋ค.
์ฃผ๋ก ์ง๊ณํจ์(COUNT(), SUM())์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ์ฉํ๊ณ , OUTER JOIN ์ ํน์ ๊ฐ์ด NULL์ธ ์นผ๋ผ์ ์ฐพ๊ธฐ์ ์ ์ฉํ๋ค.
HAVING์ ์ด์ฉํ๋ฉด ๊ทธ๋ฃนํํ๋ ๊ณผ์ ์์ ํน์ ์กฐ๊ฑด์ ๊ฑธ ์ ์๋ค.
์ ์ฟผ๋ฆฌ์์๋ id ๊ฐ์ด 3๋ณด๋ค ํฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
์๋ ๋ฌธ์ ๋ ์ด์ ์์ฃผ ์ ํฉํ ์์์ด๋ค.
programmers.co.kr/learn/courses/30/lessons/59412
JOIN, ON
๋ค์ ํ
์ด๋ธ ์กฐํ์ ์ฌ์ฉ๋๋ค. ์ฃผ๋ก ์ฌ๋ฌ ํ
์ด๋ธ ๊ฐ์ ๋น๊ต(ํฉ, ์ฐจ์ด)ํ๋๋ฐ ์ ์ฉํ๋ค.
SELECT *
FROM A
LEFT (OUTER) JOIN B
ON A.ID = B.ID
WHERE B.ID IS NULL
์ ์ฟผ๋ฆฌ๋ A์๋ ์์ง๋ง, B์๋ NULL์ธ ๊ฐ๋ค์ ๊ฐ์ ธ์จ๋ค. ์๋ ๋ฌธ์ ๊ฐ ์์ฃผ ์ ํฉํ ์์์ด๋ค.
์ฐธ๊ณ ๋ก OUTER๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ค.
LEFT, RIGHT๋ ์ด๋์ชฝ ํ
์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
์ ์ฟผ๋ฆฌ์์ LEFT๋ฉด A, RIGHT๋ฉด B์ด๋ค.
์ด๋ฅผ ์์ฃผ ์ ์ค๋ช
ํด์ฃผ๋ ๊ทธ๋ฆผ์ ์๋์ ์ฒจ๋ถํ๋ค.
programmers.co.kr/learn/courses/30/lessons/59042
โ์ค์
ํค์๋๋ค์ ์ ๋ฆฌํ์ง๋ง ์ด๋ฅผ ์์๋๋ก ์ ์ฌ์ฉํ๋ ์ ๋ต๋ ์ค์ํ๋ค.
์ด๋ ์ฟผ๋ฆฌ ์์ฑ ๋ฌธ๋ฒ ์์์ ์คํ ์์์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค.
์ฟผ๋ฆฌ ์์ฑ ๋ฌธ๋ฒ ์์
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
์คํ ์์
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
ํน์ดํ ์ ์ SELECT์ ์์๊ฐ ๋ฐ๋๋ค๋ ๊ฒ์ด๋ค. ์ด๋ MEMBER AS M๊ณผ ๊ฐ์ด ๋ณ์นญ(Alias) ์ฌ์ฉ ์ ์ฃผ์ํด์ผํ๋๋ฐ
์คํ์์๊ฐ WHERE > SELECT ์ด๋ฏ๋ก SELECT M.NAME AS N FROM MEMBER M WHERE N = 'MOKHS' ์ ๊ฐ์ ์ฟผ๋ฆฌ๋ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ๊ณ ์คํ ์ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
์ด ์ ๋๋ฉด ๊ธฐ๋ณธ์ ์ธ ํ์ ์กํ ๊ฒ ๊ฐ๊ณ , #2์์ ๋ํ ์ผ์ ์ก์๋ณด์.
'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ํ MySQL ์ ๋ฆฌ #2 ์ ์ฉํ ํค์๋ + ์ค์ ๋ฌธ์ ํ์ด (0) | 2021.03.19 |
---|
- Total
- Today
- Yesterday
- Go
- mysql ์คํ ๊ณํ
- ์ข์ ์ฝ๋๋ ๋ฌด์์ธ๊ฐ?
- http-logger
- ๋ฐฑ์ค
- ์ข์ ๊ฐ๋ฐ์ ๋๊ธฐ
- AWS re:Invent 2023
- rate limit
- ๋ฑ ํฌ์๋ฌ๋ ๊ฐ๋ฐ์
- ํ(Heap)
- Golang
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฆฌ์ธ๋ฒคํธ
- HTTP
- ํด์
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค
- ์ถ์ ์ง๋
- 2๋ ์ฐจ ์๋ฒ ๊ฐ๋ฐ์
- 2023 ๊ฐ๋ฐ์ ํ๊ณ
- Aws Reinvent 2023
- mysql
- ๋ฐฑ์ค ๋๋ฌด ์๋ฅด๊ธฐ
- ์ฝ๋ฉํ ์คํธ
- ์คํ/ํ
- 2023 ํ๊ณ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ข์ ์์ง๋์ด
- ๋ฐฑ์ค ์ค ์ธ์ฐ๊ธฐ
- ์ข์ ๊ฐ๋ฐ์
- ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS)
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |