๐ [SQL์ ์์ฑํ ๋ ๋์น๊ธฐ ์ฌ์ด 5๊ฐ์ง] ๋ง์ ๋ถ์๊ฐ๋ถ๋ค์ด ์ด๋ป๊ฒ ํ๋ฉด ๋ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์๊น? ๊ณ ๋ฏผํ์ค ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค. โSQL ์ฝ๋ฉ์ ๊ธฐ์ (์๋ฌธ ์ ๋ชฉ: Effectiv
๐ [SQL์ ์์ฑํ ๋ ๋์น๊ธฐ ์ฌ์ด 5๊ฐ์ง] ๋ง์ ๋ถ์๊ฐ๋ถ๋ค์ด ์ด๋ป๊ฒ ํ๋ฉด ๋ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์๊น? ๊ณ ๋ฏผํ์ค ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค. โSQL ์ฝ๋ฉ์ ๊ธฐ์ (์๋ฌธ ์ ๋ชฉ: Effective SQL)โ์ ์ฝ๊ณ ๋ ํจ์จ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ค์๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฃผ์ํด์ผํ ์ ๋ค์ ์ ๋ฆฌํด๋ดค์ต๋๋ค. ๋์ฑ ํจ์จ์ ์ด๊ณ , ์ ํํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ ํ๋ ๋ถ์๊ฐ ๋ถ๋ค์๊ฒ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ๐ฃ ๊ผญ ์ฑ๊ฒจ์ผ ํ ํจ์ 5๊ฐ์ง 1. ์ฝ๊ฐ์ ์ฐจ์ด๋ก ์ธ๋ฑ์ค ์ฌ์ฉ์ฌ๋ถ๊ฐ ๊ฒฐ์ ๋๋ค. 2. LEFT JOIN ํ RIGHT TABLE์ ๋ํ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ฉด OUTER JOIN์ ํจ๊ณผ๊ฐ ์ฌ๋ผ์ง๋ค. 3. ๊ฐ๋ฅํ๋ฉด ๋ฐ์ดํฐ๋ WHERE ์ ์ ์ฌ์ฉํด ํํฐ๋งํ๋ค. 4. GROUP BY ์ ์ ๋๋๋ก ๊ฐ๋จํ ํ๋ค. 5. OUTER JOIN ํ COUNT ํจ์ ์ฌ์ฉ ์ NULL ๊ฐ์ ํฌํจํด์ ์ธ์ง ์๋๋ก ์ฃผ์ํ๋ค. ์์ธํ ์์๋ ๋ณธ๋ฌธ์์ ํ์ธํด๋ณด์ธ์!