๐Language/SQL
SQL ๊ตฌ๋ฌธ ์คํ ์์ | from - where - group by - having - select - order by
MySQL์์ ๊ตฌ๋ฌธ์ด ์คํ๋๋ ์์๊ฐ ๊ถ๊ธํ์ ์ ์ค์ จ๊ตฐ์!์ ๋ต์ ๊ธ ์ ๋ชฉ์ ์์ต๋๋ค. 1. FROM : ํ ์ด๋ธ์ ๊ฐ์ ธ์ต๋๋ค. Join์ ํตํด ์ฌ๋ฌ๊ฐ ํ ์ด๋ธ ๊ฐ์ ธ์ฌ ์ ์์2. WHERE : ๊ฐ์ ธ์จ ํ ์ด๋ธ ๊ฐ๋ค์ ์กฐ๊ฑด์ ๊ฑธ์ด ํด๋น ํ๋ ๊ฐ๋ง ์ถ์ถํฉ๋๋ค. 'and', 'or' ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ์กฐ๊ฑด์ ์ถ๊ฐํ ์ ์์3. GROUP BY : ๋์ผํ ๊ฐ๋ค์ ๋ํด์ ๋ฌถ์ด ๊ทธ๋ฃน์ ๋ง๋ญ๋๋ค.4. HAVING : ๋ฐ๋์ Group by์ ํจ๊ป ์ฌ์ฉ๋๊ณ , ์กฐ๊ฑด์ ๋ง๋ ๊ทธ๋ฃน์ ๋ํด์ ์ถ์ถํฉ๋๋ค.------------------------------------------------------------------------------5. SELECT : ์ ๊ณผ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.6. ORDER BY : Select๋ก๋ถํฐ..
[MySQL] UNION ๊ณผ UNION ALL ์ฐจ์ด์
์ด์ UNION๊ด๋ จํ์ฌ ๊ฐ๋ ์ ์ ๋ฆฌํ ๊ธ์ด ์์ต๋๋ค. 2023.02.08 - [๐Language/SQL] - [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ ์๋ ํ์ฐ์~ ์ค๋์ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ธฐ ์ํด ๋์์์ต๋๋ค ํ๋์ SQL๊ด๋ จ ๊ธ๋ค์ Programmers School์ SQL ๊ณ ๋์ Kit ๋ฌธ์ ๋ค์ ํ๋ฉด์ ๋ชฐ๋๋, ๊น๋จน์๋ ๋ด์ฉ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ ๊ฒ ๊ฐ์ต๋๋ค. seen-young.tistory.com ํ๋ง๋๋ก ์ด์ผ๊ธฐํ์๋ฉด UNION์ ์ค๋ณต์ ์ ๊ฑฐ, UNION ALL์ ์ค๋ณต ํ์ฉํฉ๋๋ค ์ฃผ์ ํ ์ ์ ๋ ๋ค ์ปฌ๋ผ ์์ ํ์ ..
[MySQL] ์ซ์ ๋ฒ๋ฆผ(TRUNCATE) | ๋ฐ์ฌ๋ฆผ(ROUND)
ROUND๋ ๋ฐ์ฌ๋ฆผ์ ํ๋ ํจ์์์ ์ตํ๋ค ์๊ณ ๊ณ์คํ ๋ฐ์ TRUNCATE ํจ์์ ํจ๊ป ์์๋ณด๋๋ก ํฉ์๋ค! ROUND(, ๋ฐ์ฌ๋ฆผํ์ฌ ๋ณด์ฌ์ค ์๋ฆฌ์) TRUNCATE(, ๋ฒ๋ฆด ์์น) round ํจ์๋ 2๋ฒ์งธ ์ธ์๋ฅผ ๋๊ฒจ์ฃผ์ง ์์ผ๋ฉด ์๋์ผ๋ก ์์์ ์๋ 1๋ฒ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํฉ๋๋ค ์์์ ์ ๊ธฐ์ค์ผ๋ก ์์์ ์๋ฆฌ์๋ฅผ ๋๊ฒจ์ค ์ ์๋๋ฐ, ์์ฃผ์ ์ด ์๋ ์ ์ ์๋ฆฌ์๋ฅผ ๋ฐ์ฌ๋ฆผ ํ๊ธฐ์ํด์๋ ์์ ๊ฐ์ ๋๊ฒจ์ฃผ๋ฉด ๋ฉ๋๋ค. SELECT round(3.141592) # 3 SELECT round(3.141592, 3) # 3.142 SELECT round(3145.1234, -1) # 3150 ๋ฐ๋ฉด truncate์ ๋ฒ๋ฆด ์์น, ์ฆ 2๋ฒ์งธ ์ธ์๋ฅผ ๋ฐ๋์ ๋ณด๋ด์ฃผ์ด์ผ ํฉ๋๋ค SELECT TRUNCATE(3.141592, 1) ..
[MySQL] WITH RECURSIVE | ์์ ํ ์ด๋ธ ์ฌ์ฉํ๊ธฐ | ์ฌ๊ท ์ฟผ๋ฆฌ
Programmers SQL ๊ณ ๋์ Kit ์์ WITH RECURSIVE๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ํ ์ด๋ธ์ ์์ฑํ๊ณ Joinํ์ฌ ํ์ดํด์ผํ๋ ๋ฌธ์ ๋ฅผ ๋ง๋ฌ์ต๋๋ค ์ฒ์ ๋ง์ฃผํ๋ ๋ฌธ๋ฒ์ด์๊ณ , ์ ๋ฆฌํ๊ธฐ ์ํด ๊ธ ์์ฑํ๊ฒ ๋์์ต๋๋ค. WITH RECURSIVE ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด recursive(์ฌ๊ท์ ์ธ) ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก UNION ๊ฐ๋ ์ ์ดํดํ๊ณ ์์ด์ผ ํฉ๋๋ค. 2023.02.08 - [๐Language/SQL] - [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ ์๋ ํ์ฐ์~ ์ค๋์ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ธฐ ์ํด ๋์์์ต..
[MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์
์๋ ํ์ฐ์~ ์ค๋์ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ธฐ ์ํด ๋์์์ต๋๋ค ํ๋์ SQL๊ด๋ จ ๊ธ๋ค์ Programmers School์ SQL ๊ณ ๋์ Kit ๋ฌธ์ ๋ค์ ํ๋ฉด์ ๋ชฐ๋๋, ๊น๋จน์๋ ๋ด์ฉ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ผ ๊ฑฐ๋์ ๋ฏธํ๊ณ [์ค๋์ ํ์ต] 1. ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅํ๊ธฐ : LEFT, RIGHT, MID 2. NULL ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ถ๋ ฅํ๊ธฐ : IFNULL 3. UNION 4. DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ : date_format 1. ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅํ๊ธฐ : LEFT, RIGHT, MID ๋ฌธ์์ด์ ๋ถ๋ถ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด ๋ค์ 3๊ฐ์ง ํจ์๋ฅผ ์ด์ฉํ์๋ฉด ๋ฉ๋๋ค! ํด๋น ํจ์๋ค์ SELECT๋ฌธ์์๋ ์ฌ์ฉ๊ฐ๋ฅํ๊ณ , WHERE๋ฌธ์์ ์กฐ๊ฑด์ ๊ฑธ ๋๋ ์ฌ์ฉํ ์ ์์ต๋๋ค ๋ณดํต ์ฃผ์๋ ๋ ์ง์ ์๋ถ๋ถ์ ์ฌ์ฉํ ๋๋ L..
[MySQL] ์ค๋ณต๊ฐ ์ ์ธ(GROUP BY, DISTINCT) | NULL ๊ฐ ์ ์ธ(IS id NOT NULL)
์ํํธ์จ์ด ๋ง์์คํธ๋ก ์ฝ๋ฉํ ์คํธ์ ๋๋นํ๊ธฐ ์ํด์ Programmers SQL ๊ณ ๋์ Kit๋ฅผ ๊ณต๋ถํ๊ฒ ๋์ต๋๋ค. ์๋ก ์๊ฒ ๋, ๊น๋จน์๋ ๋ฌธ๋ฒ์ ์ ๋ฆฌํ๊ธฐ ์ํด ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌํ๊ฒ ๋์์ต๋๋ค~ ๊ทธ๋ผ ์๋ก ์ ์ด์ฏค๊น์ง ํ๊ณ ์ ๋ชฉ์ ๋ณด๊ณ ๋ค์ด์ค์ ๋ถ๊ป ๋์์ด ๋ ๋ฌธ์ ๋ฅผ ๊ณต๊ฐํฉ๋๋ค! '์ค๋ณต ์ ๊ฑฐํ๊ธฐ' ํด๋น ๊ธ์์๋ ๋ฌธ์ ํ์ด ๊ณต๊ฐ์ด ์๋๊ณ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ์งํํ ๊ฒ์ ๋๋ค ๋ค์ ๋ ๊ฐ ๋งํฌ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๊ณ ํ์ด๊น์ง ๋ณด์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค! [๋ฌธ์ ํ์ด๋ณด๊ธฐ] https://school.programmers.co.kr/learn/courses/30/lessons/59408 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ..