728x90 ๋ฐ์ํ ๐ป Computer Science53 [๋ฐ์ดํฐ๋ฒ ์ด์ค] joinํ ๋ on ๊ณผ where์ ์กฐ๊ฑด์ ์ฐจ์ด(์ฑ๋ฅ, ์๋ ์ฐจ์ด) ํต์ฌ on: join ์ ์ ์กฐ๊ฑด์ ํํฐ๋ง where: join ํ์ ์กฐ๊ฑด์ ํํฐ๋ง ์์ `ON` ์ ๊ณผ `WHERE` ์ ์ SQL์์ ์กฐ์ธ ์ฐ์ฐ ์์ ์กฐ๊ฑด์ ์ง์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ์ ์ ๋๋ค. JOIN์ ์ด์ฉํ ๋ ์กฐ๊ฑด์ ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ์๊น๋๋ค. SQL ์ฟผ๋ฆฌ ์คํ ์์๋ฅผ ๋ชจ๋ฅธ๋ค๋ฉด ์ฐธ๊ณ ์์๋ฅผ ํตํด on์์์ ์กฐ๊ฑด๊ณผ where์์์ ์กฐ๊ฑด ์ฐจ์ด๋ฅผ ์ง๊ณ ๋์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค. `users` ํ ์ด๋ธ (user_id, name, email) `orders` ํ ์ด๋ธ (order_id, user_id, name, total_amount) # CASE 1) SELECT * FROM users a, orders b WHERE a.user_id = b.user_id and a.name = b.name and.. 2023. 12. 19. [๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ฑ๋ฅ ๊ด์ ์์ ๋ณธ JOIN (์๋ ๊ฐ์ ) ์์ ํฌ์คํ ์์ JOIN์ ํ๋ ์ด์ ์ SQL ์ฟผ๋ฆฌ ์คํ ์์์ ๋ํด ์์๋ณด์์ต๋๋ค. JOIN ์์์ ์ค์์ฑ์ ์ฟผ๋ฆฌ ์ต์ ํ์ ๊ด๋ จ์ด ์์ต๋๋ค. JOIN ์์์ ์ค์์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ตํฐ๋ง์ด์ ๊ฐ ์ด๋ค ํ ์ด๋ธ์ ๋จผ์ ์ฝ๊ณ ์กฐ์ธํ ์ง๋ฅผ ๊ฒฐ์ ํ๋๋ฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. JOIN ์์๋ฅผ ์ต์ ํํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ด ๋ ํจ์จ์ ์ธ ์คํ ๊ณํ์ ์๋ฆฝํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ ์ฒด์ ์ธ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋จ์ JOIN ์์ ๊ฐ๋จํ ์์๋ฅผ ํตํด ์ค๋ช ํ๊ฒ ์ต๋๋ค. ๋ ๊ฐ์ ํ ์ด๋ธ A์ B๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. A ํ ์ด๋ธ์ 100๊ฐ์ ํ์ ๊ฐ์ง๊ณ ์๊ณ B ํ ์ด๋ธ์ 100,000๊ฐ์ ํ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ ํ์ด๋ธ์ ๊ณตํต๋ ์ปฌ๋ฐ์ธ `id`๋ฅผ ๊ธฐ์ค์ผ๋ก ์กฐ์ธ๋ฉ๋๋ค. SELECT * FROM A INNER JOIN .. 2023. 12. 19. [๋ฐ์ดํฐ๋ฒ ์ด์ค] SQL ์ฟผ๋ฆฌ ์คํ ์์(JOIN, ON, FROM, GROUP BY ๋ฑ) ์ฟผ๋ฆฌ๋ฌธ์ ๋ฌธ๋ฒ์ ์์์ ๋ฐ๋ผ ์คํ ์๋๊ฐ ๋ค๋ฆ ๋๋ค. ์ฟผ๋ฆฌ๋ฌธ์ ์คํ ์์๋ฅผ ์ดํดํ๊ณ ์์ฑํ๋ฉด ๋ณด๋ค ํจ์จ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ฐ๋จํ ์คํ ์์ FROM: ์ด๋ ํ ์ด๋ธ์์ ๊ฐ์ ธ์ฌ ๊ฒ์ธ๊ฐ? WHERE: ์ด๋ค ์กฐ๊ฑด์ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ฌ ๊ฒ์ธ๊ฐ? GROUP BY: ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ทธ๋ฃนํ ์ํฌ ๊ฒ์ธ๊ฐ? HAVING: ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ์์ ์ด๋ค ์กฐ๊ฑด์ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ฌ ๊ฒ์ธ๊ฐ? SELECT: ์ด๋ค ์ปฌ๋ผ์ ๊ฐ์ ธ์ฌ ๊ฒ์ธ๊ฐ? ORDER BY: ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ๊ฐ? (์ค๋ฆ์ฐจ์ or ๋ด๋ฆผ์ฐจ์) ์์ธํ ์คํ ์์ FROM : ๊ฐ ํ ์ด๋ธ ํ์ธ ON : ์กฐ์ธ ์กฐ๊ฑด ํ์ธ JOIN : ํ ์ด๋ธ ์กฐ์ธ (๋ณํฉ) WHERE : ๋ฐ์ดํฐ ์ถ์ถ ์กฐ๊ฑด ํ์ธ GROUP BY : ํน์ ์นผ๋ผ์ผ๋ก ๋ฐ์ดํฐ ๊ทธ๋ฃนํ HAVING : ๊ทธ๋ฃนํ ์ดํ ๋ฐ์ดํฐ ์ถ.. 2023. 12. 18. [๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ธ๋ฑ์ค(Index) ๋? ์ธ๋ฑ์ค(Index) ๋? ์ธ๋ฑ์ค(Index)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ์ด(์นผ๋ผ)์ ๊ฒ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๋ด์ ํน์ ์ด์ ๋ํ ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ๊ณตํ์ฌ ๊ฒ์ ๋ฐ ์กฐํ ์์ ์ ๋ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๊ฒ ํด์ค๋๋ค. Index๊ฐ ํ์ํ ์ด์ Index๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ table์ ๊ฒ์ ์ฑ๋ฅ์ ๋์ฌ์ฃผ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. ์ผ๋ฐ์ ์ธ RDBMS(๊ด๊ณํ๋ฐ์ดํฐ๋ฒ ์ด์ค)์์๋ B+Tree๊ตฌ์กฐ๋ก ๋ index๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์์๋๋ฅผ ํฅ์์ํต๋๋ค. index๋ ์ฑ ๋ง๋ค ๋ง์ง๋ง ํ์ด์ง์ ์๋ ์์ธ(index)๊ณผ ๊ฐ์ ์ญํ ์ ํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ฑ ์์ ์ด๋ค ์ฉ์ด๋ ๋จ์ด๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฒซ ํ์ด์ง๋ถํฐ ๋ ํ์ด์ง๊น์ง ์ ์ฒด๋ฅผ ํ์ง ์์๋(Full Table .. 2023. 11. 29. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ยทยทยท 14 ๋ค์ 728x90 ๋ฐ์ํ