ํ
์ด๋ธ์ ์์ฑํ ๋ ์ปฌ๋ผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์ ์ฝ์กฐ๊ฑด์ ๊ฑธ์์๋๋ฐ, ๊ทธ ์์์ ์ปฌ๋ผ์ ๋ค์ด๊ฐ ์๋ฃํ๋ ์ง์ ํ ์ ์๋ค. ์ด๋ค ์๋ฃํ์ด ์๋์ง ๊ฐ๋จํ ์์๋ณด์ ์๋ฃํ (์ปดํจํฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ 0๊ณผ 1๋ก ์ธ์ํ๋ ๊ฒ์ ๋ค์ ์๊ธฐํ๊ธฐ) ํ
์ด๋ธ์ ๊ฐ ์ปฌ๋ผ(์ด ๋ฐ์ดํฐ)๋ค๋ง๋ค ์ด๋ค ์๋ฃํ์ด ๋ค์ด๊ฐ ๊ฒ์ธ์ง ๋ช
์ํด์ผ(์ซ์์ธ์ง, ๋ฌธ์์ธ์ง ๋ฑ), ์ ํํ ๋ฐ์ดํฐ๊ฐ ์
๋ ฅ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ ์ ์์ด ํ
์ด๋ธ์ ์์ฑํ ๋ ์๋ฃํ์ ์
๋ ฅํด์ค๋ค. ex) ์ด๋ฆ์ ๋ฃ๋๋ฐ ์ซ์๊ฐ ๋ค์ด์ค๋ฉด ์๋๋๊น ๋ฌธ์๋ง ๋ค์ด์ฌ์ ์๊ฒ ์ง์ ํด์ฃผ๋ ๊ฒ์ด๋ค. 1. ์ซ์ ์๋ฃํ 1) ์ ์ํ ๋ฐ์ดํฐ ์ฉ๋์ ๋ฐ๋ผ ์ซ์ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ค. ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ TINYINT => ๊ฐ์ฅ ํฐ ๋ฐ์ดํฐ๋ BIGINT ์ ์ด๋ค. SIGNED : ์์๋ถํฐ ..
Knowledge๐ฆข/SQL
UNION ๊ณผ UNION ALL ์ ์ฌ์ฉ๋ฒ๊ณผ ์ฐจ์ด์ employees_1 ํ
์ด๋ธ employess_2 ํ
์ด๋ธ 1. UNION (DISTINCT) - ์ค๋ณต์ ๊ฑฐ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ํฉ์น๋ค. ์ค๋ณต๋ ROW๋ ์ ๊ฑฐ employee_1 ํ
์ด๋ธ๊ณผ employee_2 ํ
์ด๋ธ UNION ๊ฒฐ๊ณผ๊ฐ # ์์ select count(*) from (SELECT gu, rent_nm, rent_id AS id FROM rent_data UNION SELECT gu, rtn_nm AS rent_nm, rtn_id AS id FROM rent_data) a 2. UNION ALL - ์ค๋ณต๊น์ง ๋ชจ๋ ์ถ๋ ฅ ๋ชจ๋ ์ปฌ๋ผ๊ฐ์ด ๊ฐ์ ROW๋ ๊ฒฐ๊ณผ๋ก ๋ณด์ฌ์ค๋ค. ์ค๋ณต์ ๊ฑฐ ํ์ง ์๋๋ค. UNION ALL ์ด ์ค๋ณต์ ๊ฑฐํ์ง ์์ผ๋ฏ๋ก UNION ๋ณด๋ค ์๋๊ฐ..
# ๊ทธ๋ฆผ # ๊ทธ๋ฆผ ์์ฝ 1) from / join / where 2) group by / having 3) select 4) order / limit FROM ์ (+ Join) ์ฟผ๋ฆฌ์ ์ฒซ๋ฒ์งธ ์คํ ์์๋ FROM์ ์ด๋ค. FROM ์ ์์๋ ์กฐํํ ํ
์ด๋ธ์ ์ง์ ํฉ๋๋ค. ์ดํ Join์ ์คํํ์ฌ ํ๋์ ๊ฐ์ ํ
์ด๋ธ๋ก ๊ฒฐํฉํฉ๋๋ค. WHERE ์ WHERE ์ ์์๋ ํ
์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ค. GROUP BY GROUP BY ์ ์์๋ ์ ํํ ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์กฐํํ ๋ ์ฝ๋ ๋ชฉ๋ก์ ๊ทธ๋ฃนํํ๋ค. HAVING ์ HAVING ์ ์ ๊ทธ๋ฃนํ ํ์ ๊ฐ ๊ทธ๋ฃน์ ์ฌ์ฉ๋๋ ์กฐ๊ฑด ์ ์ด๋ค. ์ฝ๊ฒ ๋งํด ๊ทธ๋ฃน์ ํํฐ๋งํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. HAVING ์ ์ ์กฐ๊ฑด์ WHERE ์ ์๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด WHERE์ ์..
์์ ์๋ ๊ทธ๋ฅ min, max, sum ๋ฑ์ ์ง๊ณํจ์๋ฅผ ๋ชฉ์ ์ฑ ์์ด ์ฌ์ฉํ๋๊ฒ ๊ฐ์๋ฐ ์ด๋ค ์ํฉ์์ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ๋์ง, ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋์ถ๋๋์ง ์ ๋ฆฌํ๋ ์๊ฐ์ ๊ฐ์ ธ ๋ณด์๋ค ์์ํฉ๋๋ค! # ์ง๊ณ ํจ์์ ์ ์์ ์ ์์ฌํญ ์ง๊ณ ํจ์๋ ๊ฐ๋ค์ ์งํฉ์ ๊ณ์ฐํด์ ํ๋์ ๊ฐ์ ๋ฆฌํดํ๋ ํจ์์. count(*)๋ฅผ ์ ์ธํ๊ณ , ์ง๊ณ ํจ์๋ null ๊ฐ์ ๋ฌด์ํจ. ์ ์์ฌํญ 1) select ๊ตฌ๋ฌธ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค 2) where์ ์ ๋ฐ๋ก ์ง๊ณํจ์ ์ฌ์ฉํ ์ ์์. ๋ณดํต์ 1) group by๋ฅผ ํ๊ณ select๋ฌธ์์ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ๋ค 1) ~๋ณ๋ก => ๊ทธ๋ฃน๋ณ ๋ฌถ๊ธฐ 2) ๊ทธ ์ดํ => ์ง๊ณํจ์๋ก ๊ณ์ฐํ๊ธฐ (์ปฌ๋ผ๋ช
์ ์) ex) (์นดํ
๊ณ ๋ฆฌ ๋ณ๋ก) [ํ๋งค๋์ ์ง๊ณํ์์ค] 2) group by๋ฅผ ํ๊ณ h..
์ด๋ฒ ์๊ฐ์๋ SQL์์ ๋ฐ์ดํฐ ๊ฐ๊ณต๊ณผ ์กฐ๊ฑด๋ฌธ์ ๋ํด์ ์ ๋ฆฌํด ๋ณด์๋ค # SQL ๊ธฐ์ด 1) SQL ์์ ๊ฐ์ฅ ๊ธฐ์ด๊ฐ ๋๋ ๊ฒ์ select from where group by order by ์ด ๊ตฌ๋ฌธ์ด๋ค 2) ๋ํ, select๋ฌธ์์ ๊ฐ๊ฐ์ ์ปฌ๋ผ๋ค์ ๋ค์ฌ์ฐ๊ธฐ๋ก ๊ตฌ๋ถํ๋ค๋ฉด ๋์ฑ ๊ฐ๋
์ฑ์ด ์ข์์ง๋ค! select name, age, gender from customers ์ด๋ฐ ์์ผ๋ก! ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค๋ณด๋ฉด, Query ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ์ด์ฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค ์๋ฅผ ๋ค์ด์, ๋ณด๋
ธ๋ณด๋
ธ ํ์์ด ์ด๋ ๊ฒ ์ง๋ฌธํ๋ค "์ ๋ ์ฃผ์ ์ ์ฒด๊ฐ ์๋ ‘์๋’ ์ ๋ณด๋ง ํ์ํด์. ์์ธ์ ํต๊ณ๋ง ๊ตฌํ๊ณ ์ถ์๋ฐ, ์ ์ฒด ์ฃผ์๊ฐ ์๋ ‘์์ธ’ ๋ก ๋ฌธ์๋ฅผ ๋ณ๊ฒฝํ ์๋ ์์๊น์?" .. ๊ทธ๋ ๋ค ๋ฐ์ดํฐ ๊ฐ๊ณต์ด ํ์ํ ์์ ์ด๋ค..
SQL ์ฐ์ฐ์์ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ค์ ์ ๋ฆฌํด ๋ณด์๋ค ๋ถ์ ๋น๊ต ์ฐ์ฐ์์์ != not = ์ด๋ ๊ฒ ํ์ฉ ๊ฐ๋ฅํ๋ค = ๊ฐ๋ค > ๋ณด๋ค ํฌ๋ค >= ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค # AND ์์ ์๋ ์กฐ๊ฑด๊ณผ ๋ค์ ์ค๋ ์กฐ๊ฑด์ด ์ฐธ์ด๋๋ฉด ๊ฒฐ๊ณผ๋ ์ฐธ์ด ๋๋ค ์ฆ ์์ ์กฐ๊ฑด๊ณผ ๋ค์ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํด์ผํ๋ค # OR ์์ ์กฐ๊ฑด์ด ์ฐธ์ด๊ฑฐ๋ ๋ค์ ์กฐ๊ฑด์ด ์ฐธ์ด ๋์ด์ผ ๊ฒฐ๊ณผ๋ ๊ฒฐ๊ณผ๋ ์ฐธ์ด ๋๋ค. ์ฆ ์๋ค ์กฐ๊ฑด ์ค ํ๋๋ง ์ฐธ์ด๋ฉด ๋๋ค # NO..