๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

programmers5

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv3. ๋Œ€์žฅ๊ท ๋“ค์˜ ์ž์‹์˜ ์ˆ˜ ๊ตฌํ•˜๊ธฐ (MySQL) ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID)์™€ ์ž์‹์˜ ์ˆ˜(CHILD_COUNT)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ž์‹์ด ์—†๋‹ค๋ฉด ์ž์‹์˜ ์ˆ˜๋Š” 0์œผ๋กœ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. 1. ์ž์‹์˜ ์ˆ˜ COUNT ๋Œ€์žฅ๊ท ์˜ ์ž์‹ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ JOIN์„ ํ™œ์šฉํ•œ๋‹ค.์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์€ ECOLI_DATA ํ•œ ๊ฐ€์ง€๋กœ, self join์„ ํ™œ์šฉํ•  ์˜ˆ์ •์ด๋‹ค.  ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•˜๋ฉด CHILD๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ๋Œ€์žฅ๊ท ์˜ ๊ฒฐ๊ณผ๊นŒ์ง€ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜์žˆ๋‹ค.JOIN์„ ์‚ฌ.. 2024. 8. 14.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv.3 ์ž๋™์ฐจ ๋Œ€์—ฌ ๊ธฐ๋ก์—์„œ ๋Œ€์—ฌ์ค‘/๋Œ€์—ฌ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๊ตฌ๋ถ„ํ•˜๊ธฐ (MySQL) ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œCAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 10์›” 16์ผ์— ๋Œ€์—ฌ ์ค‘์ธ ์ž๋™์ฐจ์ธ ๊ฒฝ์šฐ '๋Œ€์—ฌ์ค‘' ์ด๋ผ๊ณ  ํ‘œ์‹œํ•˜๊ณ , ๋Œ€์—ฌ ์ค‘์ด์ง€ ์•Š์€ ์ž๋™์ฐจ์ธ ๊ฒฝ์šฐ '๋Œ€์—ฌ ๊ฐ€๋Šฅ'์„ ํ‘œ์‹œํ•˜๋Š” ์ปฌ๋Ÿผ(์ปฌ๋Ÿผ๋ช…: AVAILABILITY)์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž๋™์ฐจ ID์™€ AVAILABILITY ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๋ฐ˜๋‚ฉ ๋‚ ์งœ๊ฐ€ 2022๋…„ 10์›” 16์ผ์ธ ๊ฒฝ์šฐ์—๋„ '๋Œ€์—ฌ์ค‘'์œผ๋กœ ํ‘œ์‹œํ•ด์ฃผ์‹œ๊ณ  ๊ฒฐ๊ณผ๋Š” ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. 1.  ๋Œ€์—ฌ์ค‘ / ๋Œ€์—ฌ ๊ฐ€๋Šฅ ๋ถ„๋ฅ˜ํ•˜๊ธฐ S.. 2024. 8. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv.3 ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 1 (MySQL) ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ํฌ๊ธฐ๊ฐ€ 100 ์ดํ•˜๋ผ๋ฉด 'LOW', 100 ์ดˆ๊ณผ 1000 ์ดํ•˜๋ผ๋ฉด 'MEDIUM', 1000 ์ดˆ๊ณผ๋ผ๋ฉด 'HIGH' ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ์™€ ๋ถ„๋ฅ˜(SIZE)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. 1. ๋Œ€์žฅ๊ท  ํฌ๊ธฐ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์กฐ๊ฑด๋Œ€๋กœ SIZE๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” CASE ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.  MySQL :: MySQL 8.4 Reference Manual :: 15.6.5.1 CASE StatementCAS.. 2024. 8. 9.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv.3 ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰ ์กฐํšŒํ•˜๊ธฐ (MySQL) ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œHR_DEPARTMENT์™€ HR_EMPLOYEES ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰์„ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์„œ๋ณ„๋กœ ๋ถ€์„œ ID, ์˜๋ฌธ ๋ถ€์„œ๋ช…, ํ‰๊ท  ์—ฐ๋ด‰์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.ํ‰๊ท ์—ฐ๋ด‰์€ ์†Œ์ˆ˜์  ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ  ์ปฌ๋Ÿผ๋ช…์€ AVG_SAL๋กœ ํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. 1.  ํ‰๊ท  ์—ฐ๋ด‰ ์†Œ์ˆ˜์  ์ฒซ์งธ ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ ์†Œ์ˆ˜์  ๋ฐ˜์˜ฌ๋ฆผ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ROUND() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.  MySQL :: MySQL 8.4 Reference Manual :: 14.6.2.. 2024. 8. 8.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv.3 ์กฐ๊ฑด์— ๋งž๋Š” ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ (MySQL) ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œUSED_GOODS_BOARD์™€ USED_GOODS_USER ํ…Œ์ด๋ธ”์—์„œ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ๊ฒŒ์‹œ๋ฌผ์„ 3๊ฑด ์ด์ƒ ๋“ฑ๋กํ•œ ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ์ž ID, ๋‹‰๋„ค์ž„, ์ „์ฒด์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ, ์ „์ฒด ์ฃผ์†Œ๋Š” ์‹œ, ๋„๋กœ๋ช… ์ฃผ์†Œ, ์ƒ์„ธ ์ฃผ์†Œ๊ฐ€ ํ•จ๊ป˜ ์ถœ๋ ฅ๋˜๋„๋ก ํ•ด์ฃผ์‹œ๊ณ , ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ฒฝ์šฐ xxx-xxxx-xxxx ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํ•˜์ดํ”ˆ ๋ฌธ์ž์—ด(-)์„ ์‚ฝ์ž…ํ•˜์—ฌ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ํšŒ์› ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. 1. ์ฃผ์†Œ ํ…Œ์ด๋ธ” ๊ฒฐํ•ฉ  ์ฃผ์†Œ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ USER_GOODS_USER ํ…Œ์ด๋ธ”์—์„œ ์ œ๊ณต.. 2024. 8. 7.
728x90