<์ฃผ์ >
https://yozm.wishket.com/magazine/detail/1519/
SQL ๊ฐ๋ ์ฑ์ ๋์ด๋ ๋ค์ฏ ๊ฐ์ง ์ฌ์ํ ์ต๊ด | ์์ฆIT
์ง๋ ํ๊ฒ ์ฝ๊ธฐ ํ๋ SQL ๋ฌธ์ ํด์ํด ๋ณธ ์ ์์ผ์ ๊ฐ์? ๋ง์น ์ํธ๋ฅผ ์ฝ๋ ๊ฒ์ฒ๋ผ ์ด๋ ต์ต๋๋ค. ํ์ด์ ์ฒ๋ผ ๋ค์ฌ์ฐ๊ธฐ์ ๋์ด์ฐ๊ธฐ๋ฅผ ๋ฌธ๋ฒ์ ์ผ๋ก ๊ฐ์ ํ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํด ๋ดค๋ค๋ฉด SQL์ ์์ ๋ก์์
yozm.wishket.com
- ๊ฐ๋ ์ฑ ์๋ SQL ๋ฌธ์ ์ ๊ธฐ ์ํ ๋ค์ฏ๊ฐ์ง ์ต๊ด
<๋ด์ฉ ์ ๋ฆฌ>
# ๊ฐ๋ ์ฑ ์๋ SQL ๋ฌธ์ ์ ๊ธฐ ์ํ ์ต๊ด
- ์์ฝ์ด, ํจ์๋ ๋๋ฌธ์๋ก (select, from, group by, having, as, and ๋ฑ)
- ํ๊ฐ์ด๋ฅผ ์์ฃผ ํ์
- (๐ฏTip!) select์์ column ์ ์ ๋ ์ค๋ฐ๊ฟ ํ๊ณ , ๊ฑฐ๊ธฐ์ ์ผํ(,) ์ฌ์ฉํ๋ฉด ๊ตฌ๋ถ ์ฝ๊ณ ๋นผ๋จน์ ์ผ ์ ์.
- (๐ฏTip!) select์ column, ์กฐ๊ฑด ๋ฑ ์ ์ด๋๊ณ ์ ์ ์ต์ข ์ถ๋ ฅ์์ ์ ์ธํ๊ณ ์ถ์ ๋ ์ฃผ์๊ธฐํธ(--)๋ก ๋ฐ๋ก๋ฐ๋ก ๋บ ์ ์์.
- (๐ฏTip!) where์ '1=1' ๊ฐ์ ๊ฒฐ๊ณผ์ ์๊ด ์๋ ์๋ฌด ์กฐ๊ฑด์ ์ ๊ณ , ๋ค์์ค 'and'์์ ์ง์ง ํํฐ๋ง ์กฐ๊ฑด์ ์ฐ๊ธฐ๋ ํจ.
select day
, time
, sum(total_bill)
from tips
where 1=1
-- and sex = 'Femaie'
and smoker = 'Yes'
group by day
, time
- ์ฃผ์์ ์ฐ์
์ฝ๋๋ฅผ ์ด ์๋๋ฅผ ์งง๊ฒ ์ ์ด ๋๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ์ด ์ข์.
์กฐ๊ฑด์ด ์ ํ์ํ์ง(why) + ์ด๋ป๊ฒ ๋์ํ๋์ง(how) ๊ฐ์ ๋ด์ฉ์ ์์ธํ ์ ๊ธฐ
(๐ฏTip!) ์ฃผ์ ๋จ์: ์๋ธ์ฟผ๋ฆฌ, case, if, where - Alias(๋ณ์นญ)์ ์ ์ฐ์
๊ฐ์ฅ ์ค์ํ ๊ฑด,
๊ฐ์ด ์ผํ๋ ์ฌ๋๋ค๊ณผ ํฉ์๋ ๊ท์น!