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

์ „์ฒด ๊ธ€

(74)
[programmers] 5์›” ์‹ํ’ˆ๋“ค์˜ ์ด๋งค์ถœ ์กฐํšŒํ•˜๊ธฐ ๋ฌธ์ œ FOOD_PRODUCT์™€ FOOD_ORDER ํ…Œ์ด๋ธ”์—์„œ ์ƒ์‚ฐ์ผ์ž๊ฐ€ 2022๋…„ 5์›”์ธ ์‹ํ’ˆ๋“ค์˜ ์‹ํ’ˆ ID, ์‹ํ’ˆ ์ด๋ฆ„, ์ด๋งค์ถœ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์ด๋งค์ถœ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ์ด๋งค์ถœ์ด ๊ฐ™๋‹ค๋ฉด ์‹ํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด JOIN ์‚ฌ์šฉ - ์ด๋งค์ถœ์€ SUM() ์„ ์‚ฌ์šฉ(์ˆ˜๋Ÿ‰*๊ฐ€๊ฒฉ) - GROUP BY ๋ฅผ ์‚ฌ์šฉํ•ด ID ๋ณ„ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•จ - 2022-04-04 ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์—์„œ ์—ฐ๋„์™€ ์›”๋งŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด YEAR(), MONTH() ์‚ฌ์šฉ - ORDER BY ๋กœ ์ •๋ ฌ SELECT A.PRODUCT_ID, B.PRODUCT_NAME, (SUM(A.AMOUNT) * B.PRICE) AS TOTAL_SAL..
[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(5) ์‹คํ–‰ ์ˆœ์„œ if ๋ฌธ์€ ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰. C ์–ธ์–ด๋Š” 0์ด๋ฉด ๊ฑฐ์ง“, 0์ด ์•„๋‹ˆ๋ฉด ์ฐธ if(-1) ์—์„œ -1 ์€ ์ฐธ(true)์ด๋ฏ€๋กœ printf(”A”) ์ถœ๋ ฅ; ๊ทธ ์™ธ ์กฐ๊ฑด๋“ค(else if, else) ์€ ํ•ด๋‹น์‚ฌํ•ญ ์—†์œผ๋ฏ€๋กœ skip printf(”D”) ์ถœ๋ ฅ ์ถœ๋ ฅ AD
[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(4) - ์žฌ๊ท€ํ•จ์ˆ˜ ์‹คํ–‰ ์ˆœ์„œ main ํ•จ์ˆ˜๋ถ€ํ„ฐ ์‹คํ–‰ fn(3) ์ด๋ฏ€๋กœ int n = 3 printf ์— ์˜ํ•ด 3 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ์ฐธ(3>1) ์ด๋ฏ€๋กœ, fn(2) ํ˜ธ์ถœ fn(2) ์ด๋ฏ€๋กœ printf ์— ์˜ํ•ด 2 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ์ฐธ(2>1) ์ด๋ฏ€๋กœ, fn(1) ํ˜ธ์ถœ fn(1) ์ด๋ฏ€๋กœ printf ์— ์˜ํ•ด 1 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ๊ฑฐ์ง“(1>1) ์ด๋ฏ€๋กœ ์•„๋ž˜ printf์— ์˜ํ•ด 1 ์ถœ๋ ฅ fn(1)์„ ํ˜ธ์ถœํ–ˆ๋˜ ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€ ์•„๋ž˜ printf์— ์˜ํ•ด 2 ์ถœ๋ ฅ fn(2)์„ ํ˜ธ์ถœํ–ˆ๋˜ ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€ ์•„๋ž˜ printf์— ์˜ํ•ด 3 ์ถœ๋ ฅ fn(3) ์œผ๋กœ ๋Œ์•„๊ฐ€์ง€๋งŒ, ์ดํ›„ ๋ช…๋ น์ด ์—†์œผ๋ฏ€๋กœ ์ข…๋ฃŒ. ์ถœ๋ ฅ 321123
[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(3) ์‹คํ–‰ ์ˆœ์„œ a = 1, i= ์ดˆ๊ธฐ๊ฐ’, sum = 0์œผ๋กœ ์ดˆ๊ธฐํ™” switch ๋ฌธ์—์„œ, a++ ์ผ๋•Œ๋Š” a๋ฅผ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ’์„ 1 ์ฆ๊ฐ€ ์‹œํ‚ด → 1 ๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ์—ฐ์‚ฐ์ด ๋๋‚œ ํ›„ 1 ์ฆ๊ฐ€ ++sum, 1 ์ฆ๊ฐ€๋ฅผ ๋จผ์ € ์‹œํ‚ค๊ณ  ๊ฐ’ ์‚ฌ์šฉ → 0 ๊ฐ’์— +1 ์„ ํ•œ 1์ด sum ๊ฐ’์ด ๋จ. ⇒ ‘a++’(1) + ‘++sum’(1) = 2 ๊ฐ€ ๋จ ํ˜„์žฌ a: 2 , sum: 1 case 2: ์— ํ•ด๋‹นํ•˜๋ฏ€๋กœ for ๋ฌธ ์‹คํ–‰ i=1, for ๋ฌธ์˜ ์กฐ๊ฑด์‹(i
[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(2) ์‹คํ–‰ ์ˆœ์„œ ๋ฐ˜๋ณต๋ฌธ sum += *(p+i) ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” p ๊ฐ’์„ ์•Œ์•„์•ผํ•จ p = a[0] ์ด๋ผ๊ณ  ๊ธฐ์„ ์–ธํ–ˆ์œผ๋ฏ€๋กœ, sum += *(a[0]+i) ๊ณผ ๊ฐ™์Œ → ๊ทธ๋ ‡๋‹ค๋ฉด *(a[0]+i) ๋Š”? ๋ฐฐ์—ด + i == &๋ฐฐ์—ด[i] a[0] + i == &a[0] *(a[0]+i) ๋Š” *( &a[0]) ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ ⇒ ํฌ์ธํ„ฐ์—์„œ ์ฃผ์†Œ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ๊ณผ(&) ๊ทธ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ(*)์€ ์„œ๋กœ ์ƒ์‡„๋˜์–ด ์—†์–ด์ง ⇒ a[0][i] ๊ฐ€ ๋œ๋‹ค. ⇒ a[0][0]์€ 2์ด๋ฏ€๋กœ sum ์€ 2 ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ ๋Œ์•„์™€์„œ i = 1, a[0][1]์€ 3, sum ์€ 5 ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ ๋Œ์•„์™€์„œ i = 2, a[0][2]๋Š” 5, sum ์€ 10 ** a[0][2] ๋Š” a[1][0] ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ ..
[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(1) tip. ๋ณ€์ˆ˜ ๋ณ€ํ™”๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ ค๋†“๊ณ  ์‹œ์ž‘ ์‹คํ–‰ ์ˆœ์„œ i = 0, j=0, k ๋Š” ์ดˆ๊ธฐํ™” ์ƒ๋žต๋˜์–ด ์žˆ์–ด ์“ฐ๋ ˆ๊ธฐ ๊ฐ’ i=0 ์ฒซ ๋ฒˆ์งธ, for๋ฌธ ์ดˆ๊ธฐ์‹์ด ์ƒ๋žต๋˜์–ด์žˆ์Œ → ๋‹ค์Œ ์กฐ๊ฑด์œผ๋กœ ๋ฐ”๋กœ ๋„˜์–ด๊ฐ ๋‘ ๋ฒˆ์งธ for ๋ฌธ i = 0, j=0 ์„ธ ๋ฒˆ์งธ for ๋ฌธ k =’A’ → ์ž‘์€ ๋”ฐ์˜ดํ‘œ A ๋Š” ๋ฌธ์ž, ๋ฌธ์ž๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋งคํ•‘ํ•ด์„œ ์ˆซ์ž์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ A = 65 ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ด๋ฏ€๋กœ, printf ์‹คํ–‰ 4. printf ๋ฌธ %c ๋Š” ํฌ๋งท์ŠคํŠธ๋ง ์ค‘ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ, i + j + k = 0+ 0+ 65 ์ด๋ฏ€๋กœ ์•„์Šคํ‚ค์ฝ”๋“œ 65 ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž A ๋ฅผ ์ถœ๋ ฅ 5. ์„ธ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ k++ ์ด๋ฏ€๋กœ k ๊ฐ’์€ 66 ์ด ๋˜์–ด ์กฐ๊ฑด๋ฌธ false ๊ฐ€ ๋จ → false ์ผ ๋•Œ ๋กœ์ง์ด ์—†์–ด ์ƒ์œ„ for..
[programmers] ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค ๋ฌธ์ œ ๋ณดํ˜ธ ์‹œ์ž‘์ผ๋ณด๋‹ค ์ž…์–‘์ผ์ด ๋” ๋น ๋ฅธ ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๋ณดํ˜ธ ์‹œ์ž‘์ผ์ด ๋น ๋ฅธ ์ˆœ์œผ๋กœ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ’€์ด - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด JOIN(INNER JOIN) ์‚ฌ์šฉ - DATETIME ์„ ๋น„๊ต(๋‚ ์งœ๋Š” ์—ฐ์‚ฐ์ž๋กœ ๋น„๊ต ๊ฐ€๋Šฅ) - ์ •๋ ฌ SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS INNER JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„..
[programmers] ์—†์–ด์ง„ ๊ธฐ๋ก ์ฐพ๊ธฐ ๋ฌธ์ œ ์ฒœ์žฌ์ง€๋ณ€์œผ๋กœ ์ธํ•ด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž…์–‘์„ ๊ฐ„ ๊ธฐ๋ก์€ ์žˆ๋Š”๋ฐ, ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๊ธฐ๋ก์ด ์—†๋Š” ๋™๋ฌผ์˜ ID์™€ ์ด๋ฆ„์„ ID ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๋‘ ํ…Œ์ด๋ธ”์„ ๋น„๊ตํ•ด ํ•œ ์ชฝ์—๋งŒ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด LEFT OUTER JOIN ์‚ฌ์šฉ - IS NULL ์„ ์‚ฌ์šฉํ•˜์—ฌ ID ๊ฐ€ ์—†๋Š” ๊ฐ’๋งŒ ์กฐํšŒ - ID ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID; ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ..

728x90