Community

๐ŸŽ† [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 ๊ฐ’์„ ํฌํ•จํ•ด์„œ ์„ธ์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•œ๋‹ค. ์ƒ์„ธํ•œ ์˜ˆ์‹œ๋Š” ๋ณธ๋ฌธ์—์„œ ํ™•์ธํ•ด๋ณด์„ธ์š”!

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค