Skip to main content
10๋ถ„๋งŒ ์‹œ๊ฐ„์„ ๋‚ด์–ด ์ปค๋ฎค๋‹ˆํ‹ฐ ์„ค๋ฌธ์กฐ์‚ฌ์— ์ฐธ์—ฌํ•ด ์ฃผ์„ธ์š”. ์ง€๊ธˆ๋ถ€ํ„ฐ 7์›” 19์ผ๊นŒ์ง€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฐธ์—ฌํ•˜์‹œ๋ ค๋ฉด ์—ฌ๊ธฐ๋ฅผ ํด๋ฆญํ•ด ์ฃผ์„ธ์š”.

ํ‘œ์ค€ ๊ฐœ์ฒด๋กœ ๊ด€๊ณ„ ์ฟผ๋ฆฌ ๋งŒ๋“ค๊ธฐ

ํ•™์Šต ๋ชฉํ‘œ

์ด ์œ ๋‹›์„ ์™„๋ฃŒํ•˜๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ๊ด€๊ณ„ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐœ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์  ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Trail Together๋กœ ํ•จ๊ป˜ ๋”ฐ๋ผํ•˜๊ธฐ

์ด ๋‹จ๊ณ„๋ฅผ ์ „๋ฌธ๊ฐ€์™€ ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? Trailhead Live์˜ Trail Together ์‹œ๋ฆฌ์ฆˆ์— ํฌํ•จ๋œ ์ด ๋น„๋””์˜ค๋ฅผ ์‹œ์ฒญํ•˜์„ธ์š”.

(๋’ค๋กœ ๋Œ๋ ค ๋‹จ๊ณ„๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ, ์ด ํด๋ฆฝ์€ 36:18๋ถ„ ํ‘œ์‹์—์„œ ์‹œ์ž‘๋œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.)

๊ด€๊ณ„ ์ฟผ๋ฆฌ

Salesforce ๊ด€๋ฆฌ์ž๋กœ์„œ ์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฏธ ๊ด€๋ จ ๋ ˆ์ฝ”๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ˆ˜์‹ ํ•„๋“œ์— ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ ๊ฐœ์ฒด ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ง€์‹์„ SOQL ์ฟผ๋ฆฌ ์ž‘์„ฑ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

FROM ์ ˆ์€ ํ•˜๋‚˜์˜ ๊ฐœ์ฒด๋กœ ์ œํ•œ๋˜์ง€๋งŒ ๊ด€๊ณ„ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ๊ด€๋ จ ๊ฐœ์ฒด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๊ณ„ ์ฟผ๋ฆฌ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋‘ ๊ฐœ์ฒด ๋ชจ๋‘์—์„œ ํ•„๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฐจ ๊ฐœ์ฒด ์ฟผ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์„ธ์š”.

'Get a list of all contacts with each contactโ€™s account name.(๊ฐ ์—ฐ๋ฝ์ฒ˜์˜ ๊ณ„์ • ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ๋ชจ๋“  ์—ฐ๋ฝ์ฒ˜ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.)'

Contact(์—ฐ๋ฝ์ฒ˜) ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์— Account Name(๊ณ„์ • ์ด๋ฆ„) ํ•„๋“œ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ์ด๋ฆ„์€ ์‹ค์ œ๋กœ Contact(์—ฐ๋ฝ์ฒ˜)์™€ ๊ด€๋ จ๋œ Account(๊ณ„์ •)์˜ Name(์ด๋ฆ„) ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์กฐ์ง์—์„œ๋Š” ์ˆ˜์‹ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ด€๋ จ ๊ฐœ์ฒด์˜ ํ•„๋“œ์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. Apex์—์„œ๋Š” ๊ด€๊ณ„ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ด€๊ณ„ ์ฟผ๋ฆฌ์˜ ์œ ํ˜•์€ ๋‘ ๊ฐœ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

Note

Salesforce๋Š” ํฌ๊ด„์ ์ธ ์šฉ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ ์ฝ๊ธฐ: Salesforce, ์•”๋ฌต์  ํŽธ๊ฒฌ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ง€์†์ ์ธ ๋…ธ๋ ฅ์˜ ์ผํ™˜์œผ๋กœ ๊ธฐ์ˆ  ์šฉ์–ด ์—…๋ฐ์ดํŠธ

๋ ˆ์ฝ”๋“œ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•:

  • ํ•˜์œ„ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์–ป๊ณ  ๊ด€๋ จ ์ƒ์œ„ ๊ฐœ์ฒด์— ์žˆ๋Š” ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋ ค๋ฉด ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ์œ„ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์–ป๊ณ  ๊ด€๋ จ ํ•˜์œ„ ๊ฐœ์ฒด์— ์žˆ๋Š” ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋ ค๋ฉด ์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•  ์ฟผ๋ฆฌ ์œ ํ˜•์„ ๊ฒฐ์ •ํ•˜๋ ค๋ฉด ๋จผ์ € ๋‘ ๊ฐœ์ฒด์ธ Contact(์—ฐ๋ฝ์ฒ˜)์™€ Account(๊ณ„์ •)๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋А ์ชฝ์ด ์ƒ์œ„์ด๊ณ  ์–ด๋А ์ชฝ์ด ํ•˜์œ„์ธ๊ฐ€์š”?

๊ฐœ์ฒด์˜ ๊ด€๊ณ„ ์‹๋ณ„

์—ฌ๋Ÿฌ๋ถ„์€ ๊ด€๋ฆฌ์ž๋กœ์„œ ์กฐ์ง์˜ ๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์ •๋ณด ๊ด€๊ณ„์— ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์ •๋ณด ๊ด€๊ณ„๋Š” ์ƒ์œ„-ํ•˜์œ„ ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ๊ฐœ์ฒด๊ฐ€ ์ƒ์œ„์ด๊ณ , ์„ธ๋ถ€ ์ •๋ณด ๊ฐœ์ฒด๊ฐ€ ํ•˜์œ„์ž…๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์— ํฌํ•จํ•  ๋‘ ๊ฐœ์ฒด๊ฐ€ ๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์ •๋ณด ๊ด€๊ณ„์ธ ๊ฒฝ์šฐ ์–ด๋А ์ชฝ์ด ์ƒ์œ„์ด๊ณ  ์–ด๋А ์ชฝ์ด ํ•˜์œ„์ธ์ง€ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Note

๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์ •๋ณด ๊ด€๊ณ„๋Š” ์ผ๋Œ€๋‹ค ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ๊ฐœ์ฒด(์ƒ์œ„)์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„ธ๋ถ€ ์ •๋ณด ๊ฐœ์ฒด(ํ•˜์œ„)๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ ์„ธ๋ถ€ ์ •๋ณด ๊ฐœ์ฒด(ํ•˜์œ„)์—๋Š” ํ•˜๋‚˜์˜ ๋งˆ์Šคํ„ฐ ๊ฐœ์ฒด(์ƒ์œ„)๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์— ํฌํ•จํ•  ๋‘ ๊ฐœ์ฒด์— ๋Œ€ํ•ด ์ต์ˆ™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋‘ ๊ฐœ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ ๊ฐœ์ฒด ๊ด€๋ฆฌ์ž์—์„œ ๊ฐœ์ฒด๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. ํ•˜์œ„์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๊ฐœ์ฒด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ•„๋“œ ๋ฐ ๊ด€๊ณ„๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ƒ์œ„ ๊ฐœ์ฒด์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ ์ด๋ฆ„์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Contact(์—ฐ๋ฝ์ฒ˜)์—๋Š” AccountId ํ•„๋“œ์™€ Lookup(Account) ๋ฐ์ดํ„ฐ ํ˜•์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์—๋Š” ํ•„๋“œ ๋ ˆ์ด๋ธ”(Account Name)์ด ์•„๋‹Œ ํ•„๋“œ ์ด๋ฆ„(AccountId)์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.

๊ฐœ์ฒด ๊ด€๋ฆฌ์ž์˜ Contact(์—ฐ๋ฝ์ฒ˜) ๊ฐœ์ฒด์— ๋Œ€ํ•œ Fields & Relationships(ํ•„๋“œ ๋ฐ ๊ด€๊ณ„) ํŽ˜์ด์ง€๋กœ ํ•˜๋‚˜์˜ ํ•„๋“œ๊ฐ€ ํ•˜์ด๋ผ์ดํŠธ๋˜์–ด ์žˆ์Œ. Field Label = Account Name. Field Name = AccountId. Data Type = Lookup(Account).

AccountId ํ•„๋“œ์˜ ์„ธ๋ถ€ ์ •๋ณด์—์„œ Child Relationship Name(ํ•˜์œ„ ๊ด€๊ณ„ ์ด๋ฆ„)์ด Contacts(๋ณต์ˆ˜ํ˜•)์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‘œ์ค€ ๊ฐœ์ฒด์˜ ๊ด€๊ณ„ ์ด๋ฆ„์€ ํ•˜์œ„ ๊ฐœ์ฒด ์ด๋ฆ„์˜ ๋ณต์ˆ˜ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

Contact(์—ฐ๋ฝ์ฒ˜) ๊ฐœ์ฒด์˜ Account Name(๊ณ„์ • ์ด๋ฆ„) ํ•„๋“œ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋กœ Child Relationship Name(ํ•˜์œ„ ๊ด€๊ณ„ ์ด๋ฆ„)์ด Contacts๋กœ ์ง€์ •๋œ ๋ถ€๋ถ„์ด ํ•˜์ด๋ผ์ดํŠธ๋˜์–ด ์žˆ์Œ.

Child Relationship Name(ํ•˜์œ„ ๊ด€๊ณ„ ์ด๋ฆ„)์„ ํ†ตํ•ด Contact(์—ฐ๋ฝ์ฒ˜)๊ฐ€ Account(๊ณ„์ •)์˜ ํ•˜์œ„ ์š”์†Œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ์— ํ•„์š”ํ•œ ๊ด€๊ณ„ ์ด๋ฆ„๋„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ์œ ๋‹›์˜ ๋’ท๋ถ€๋ถ„์—์„œ ์„ค๋ช…).

ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ ๋งŒ๋“ค๊ธฐ

์ด์ œ Contact(์—ฐ๋ฝ์ฒ˜)์™€ Account(๊ณ„์ •)๊ฐ€ ํ•˜์œ„-์ƒ์œ„ ๊ด€๊ณ„๋ผ๋Š” ์ ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. Contact(์—ฐ๋ฝ์ฒ˜)๊ฐ€ ํ•˜์œ„์ด๊ณ , Account(๊ณ„์ •)๊ฐ€ ์ƒ์œ„์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์—ฐ๋ฝ์ฒ˜(ํ•˜์œ„) ๋ฐ ๊ฐ ์—ฐ๋ฝ์ฒ˜์˜ ๊ณ„์ •(์ƒ์œ„) ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜๋ ค๋ฉด ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์  ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์œ„ ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์ƒ์œ„ ๊ฐœ์ฒด์—์„œ ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

SELECT Name, Account.Name FROM Contact

์ด SELECT ๋ช…๋ น๋ฌธ์€ Contact(์—ฐ๋ฝ์ฒ˜) ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. SELECT ์ ˆ์—์„œ Name(์ด๋ฆ„)์€ Contact(์—ฐ๋ฝ์ฒ˜)์˜ Name(์ด๋ฆ„) ํ•„๋“œ์ด๊ณ  Account.Name์€ Contact(์—ฐ๋ฝ์ฒ˜)์™€ ๊ด€๋ จ๋œ Account(๊ณ„์ •)์˜ Name(์ด๋ฆ„) ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

ํ•˜์œ„-์ƒ์œ„ ์ฟผ๋ฆฌ ์‹คํ–‰ํ•˜๊ธฐ

  1. Developer Console์˜ ์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋‹ค์Œ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    SELECT Name, Account.Name FROM Contact
  2. Execute(์‹คํ–‰)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์˜ ์ฒซ ์—ฌ์„ฏ ๊ฐœ ํ–‰์ด ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ - ์ด ํ–‰ ์ˆ˜: 20

์ด๋ฆ„

Account.Name

Rose Gonzales

Edge Communications

Sean Forbes

Edge Communications

Jack Rogers

Burlington Textiles Corp of America

Pat Stumuller

Andy Young

Dickenson plc

Tim Barr

Grand Hotels & Resorts Ltd

๋‘ ๋ฒˆ์งธ ์—ด์—๋Š” ์—ฐ๋ฝ์ฒ˜์˜ ์ƒ์œ„ ๊ณ„์ • ๊ฐœ์ฒด์—์„œ ๊ฐ€์ ธ์˜จ ๊ณ„์ • ์ด๋ฆ„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ ๋งŒ๋“ค๊ธฐ

์ด์ œ ์ƒ์œ„ ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ํ•˜์œ„ ๊ฐœ์ฒด์—์„œ ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ์—์„œ๋Š” ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์œ„ ๊ฐœ์ฒด์—์„œ ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋ณด์กฐ ์ฟผ๋ฆฌ๋Š” ๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ ๋‹ค๋ฅธ ์ฟผ๋ฆฌ ๋‚ด์— ์ค‘์ฒฉ๋œ SELECT ๋ฌธ์ž…๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

'For every account, return the account name and the name of each related contact.(๋ชจ๋“  ๊ณ„์ •์— ๋Œ€ํ•ด ๊ณ„์ • ์ด๋ฆ„ ๋ฐ ๊ด€๋ จ๋œ ๊ฐ ์—ฐ๋ฝ์ฒ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.)'

'of each related(๊ด€๋ จ๋œ ๊ฐ)'์ด๋ผ๋Š” ๋ถ€๋ถ„์—์„œ ๊ด€๊ณ„ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Contact(์—ฐ๋ฝ์ฒ˜)๊ฐ€ Account(๊ณ„์ •)์˜ ํ•˜์œ„ ์š”์†Œ์ด๋ฏ€๋กœ ํ•˜์œ„ ๊ฐœ์ฒด์˜ ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” ์ƒ์œ„-ํ•˜์œ„ ๊ด€๊ณ„ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ฟผ๋ฆฌ(For every account, return the account name) ๋ฐ ๋ณด์กฐ ์ฟผ๋ฆฌ(the name of each related contact.)

์š”๊ตฌ ์‚ฌํ•ญ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์ธ 'For every account, return the account name'์ด ๊ธฐ๋ณธ ์ฟผ๋ฆฌ๊ฐ€ ๋˜์–ด ์ „์ฒด ์ฟผ๋ฆฌ์˜ ๋ฐ”๊นฅ ๋ถ€๋ถ„์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์ธ 'the name of each related contact'๊ฐ€ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ ๋‚ด์— ์ค‘์ฒฉ๋œ ์•ˆ์ชฝ ์ฟผ๋ฆฌ์ธ ๋ณด์กฐ ์ฟผ๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์šฐ์„  ๊ธฐ๋ณธ ์ฟผ๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. SELECT Name FROM Account

๋‹ค์Œ์œผ๋กœ ๊ด„ํ˜ธ ์•ˆ์— ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. (SELECT Name FROM Contact)

๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ์˜ ๋‘ ๋ฒˆ์งธ ํ•„๋“œ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด Name ๋’ค์— ์‰ผํ‘œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

SELECT Name, (SELECT Name FROM Contact) FROM Account. ๋ณด์กฐ ์ฟผ๋ฆฌ: SELECT Name FROM Contact

๋ณด์กฐ ์ฟผ๋ฆฌ ๋‚ด์—์„œ ๊ด€๋ จ ๊ฐœ์ฒด์˜ ํ•„๋“œ ์ด๋ฆ„ ๋Œ€์‹  ํ•˜์œ„ ๊ด€๊ณ„ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ์ฒด ์ด๋ฆ„์ธ Contact๋ฅผ ํ•˜์œ„ ๊ด€๊ณ„ ์ด๋ฆ„์ธ Contacts๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

SELECT Name, (SELECT Name FROM Contacts) FROM Account. ๋ณด์กฐ ์ฟผ๋ฆฌ: SELECT Name FROM Contacts

์ด ์ฟผ๋ฆฌ๋Š” ๋ชจ๋“  ๊ณ„์ •์˜ ๊ณ„์ • ์ด๋ฆ„๊ณผ ๋ชจ๋“  ์—ฐ๋ฝ์ฒ˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์„ธ๋ถ€์ ์œผ๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ์ฟผ๋ฆฌ๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  1. ์ฟผ๋ฆฌ๊ฐ€ ๊ณ„์ •์„ ์„ ํƒํ•˜๊ณ  ๊ณ„์ • Name(์ด๋ฆ„) ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ ์ฟผ๋ฆฌ(๋ฐ”๊นฅ์ชฝ ์ฟผ๋ฆฌ)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  2. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ฟผ๋ฆฌ๊ฐ€ ๊ณ„์ •์˜ ๊ด€๋ จ ์—ฐ๋ฝ์ฒ˜๋ฅผ ์กฐํšŒํ•˜๊ณ  ๊ฐ๊ฐ์— ๋Œ€ํ•œ Name(์ด๋ฆ„) ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ณด์กฐ ์ฟผ๋ฆฌ(์•ˆ์ชฝ ์ฟผ๋ฆฌ)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  3. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๊ณ  ๋ชจ๋“  ๊ณ„์ •์„ ์„ ํƒํ•  ๋•Œ๊นŒ์ง€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

์ƒ์œ„-ํ•˜์œ„ ์ฟผ๋ฆฌ ์‹คํ–‰

  1. ์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋‹ค์Œ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    SELECT Name, (SELECT Name FROM Contacts) FROM Account
  2. Execute(์‹คํ–‰)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์˜ ์ฒซ ์—ฌ์„ฏ ๊ฐœ ํ–‰์ด ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ - ์ด ํ–‰ ์ˆ˜: 12

์ด๋ฆ„

์—ฐ๋ฝ์ฒ˜

Edge Communications

[{"Name":"Rose Gonzalez"},{"Name":"Sean Forbes"}]

Burlington Textiles Corp of America

[{"Name":"Jack Rogers"}]

[{"Name":"Pat Stumuller"}]

Dickenson plc

[{"Name":"Andy Young"}]

Grand Hotels & Resorts Ltd

[{"Name":"John Bond"},{"Name":"Tim Barr"}]

[{"Name":"Arthur Song"},{"Name":"Avi Green"},{"Name":"Lauren Boyle"},{"Name":"Stella Pavlova"}]

ํฅ๋ฏธ๋กญ๋„ค์š”! Query Results(์ฟผ๋ฆฌ ๊ฒฐ๊ณผ) ์ฐฝ์— ๊ณ„์ • ์ด๋ฆ„๊ณผ ๊ฐ ๊ณ„์ •์— ์—ฐ๊ฒฐ๋œ ํ•˜์œ„ ์—ฐ๋ฝ์ฒ˜ ๋ ˆ์ฝ”๋“œ ์ปฌ๋ ‰์…˜์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ปฌ๋ ‰์…˜ ์œ ํ˜•์€ ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ๊ฐœ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋“ˆ์—์„œ ๋งต์„ ์‚ดํŽด๋ดค๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ์ต์ˆ™ํ•˜์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋งต์— ๋Œ€ํ•ด ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜์…”๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ™•์ธํ•ด ๋ณผ๊ฒŒ์š”. ๋งต ์ปฌ๋ ‰์…˜์€ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ‚ค-๊ฐ’ ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” Name(์ด๋ฆ„)๊ณผ ๊ฐ™์€ ํ•„๋“œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํ‚ค ๋’ค์—๋Š” Jake Llorrac ๋“ฑ์˜ ๊ฐ’์ด ๋ถ™์Šต๋‹ˆ๋‹ค. ํ‚ค ๊ฐ’ ์Œ์€ ๊ณ„์ •๊ณผ ๊ด€๋ จ๋œ ์—ฐ๋ฝ์ฒ˜๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ์ค‘์ฒฉ๋œ SELECT ๋ฌธ์— ์˜ํ•ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

๋ณด์กฐ ์ฟผ๋ฆฌ๋กœ ํ•„ํ„ฐ๋งํ•˜๊ธฐ

์„ฑ์ด Forbes์ธ ๊ด€๋ จ ์—ฐ๋ฝ์ฒ˜๋ฅผ ๊ฐ€์ง„ ๊ณ„์ •๋งŒ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํ•˜์œ„ ๊ฐœ์ฒด์ธ Contact(์—ฐ๋ฝ์ฒ˜)์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ์œ„ ๊ฐœ์ฒด์ธ Account(๊ณ„์ •)๋ฅผ ํ•„ํ„ฐ๋งํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ž‘์—…์ด ๊นŒ๋‹ค๋กญ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ฟผ๋ฆฌ ๋‚ด์— ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์ค‘์ฒฉํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ์˜ WHERE ์ ˆ์—์„œ (ํ•˜์œ„ ๊ฐœ์ฒด์˜) ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์กฐ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋Š” ๊ธฐ๋ณธ ์ฟผ๋ฆฌ์˜ ํ•„ํ„ฐ์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฐจ ํ•„ํ„ฐ์— ์ต์ˆ™ํ•˜๋‹ค๋ฉด ๋ณด์กฐ ์ฟผ๋ฆฌ์— WHERE ์ ˆ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋ณด๊ณ ์„œ์—์„œ ๊ต์ฐจ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์ฟผ๋ฆฌ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

SELECT Name, (SELECT Name FROM Contacts) FROM Account

๊ทธ๋Ÿฐ ๋‹ค์Œ Forbes๋ผ๋Š” ์„ฑ์„ ๊ฐ€์ง„ ์—ฐ๋ฝ์ฒ˜์—์„œ AccountId ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ณด์กฐ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

(SELECT AccountId FROM Contact WHERE LastName = 'Forbes')

์™œ ์—ฐ๋ฝ์ฒ˜์˜ AccountId ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•œ์ง€ ๊ถ๊ธˆํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๋ฝ์ฒ˜์˜ AccountId ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜์—ฌ ๊ณ„์ •๊ณผ ๊ด€๋ จ๋œ ์—ฐ๋ฝ์ฒ˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. Contact ๊ฐœ์ฒด์˜ AccountId ํ•„๋“œ์™€ Account ๊ฐœ์ฒด์˜ Id ํ•„๋“œ๊ฐ€ ๋™์ผํ•œ ๊ฐ’(Contact.AccountId = Account.Id)์„ ๊ฐ–๋Š”๋‹ค๋ฉด ์—ฐ๋ฝ์ฒ˜๊ฐ€ ๊ณ„์ •๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Contact ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜๋ฉด ํ•ด๋‹น AccountId ๊ฐ’์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์—ฐ๋ฝ์ฒ˜์™€ ๊ด€๋ จ๋œ ๊ณ„์ •์„ ์„ ํƒํ•˜๋ ค๋ฉด Id ํ•„๋“œ์—์„œ ํ•ด๋‹น ๊ฐ’์„ ๊ฐ–๋Š” ๊ณ„์ •์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ์— WHERE ์ ˆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์กฐ ์ฟผ๋ฆฌ์— ์˜ํ•ด ๋ฐ˜ํ™˜๋œ Contact์˜ AccountId ํ•„๋“œ์— Id๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ Account ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด WHERE Id IN ๋’ค์— ๋ณด์กฐ ์ฟผ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

SELECT Name, (SELECT Name FROM Contacts) FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName = 'Forbes')

์ด ์ฟผ๋ฆฌ๋Š” 4๊ฐ€์ง€ ์ž‘์—…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ฟผ๋ฆฌ๊ฐ€ ์„ฑ์ด Forbes์ธ ์—ฐ๋ฝ์ฒ˜๋ฅผ ์ฐพ๊ณ  ๊ฐ ์—ฐ๋ฝ์ฒ˜์˜ AccountId ํ•„๋“œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (WHERE ์ ˆ ๋ณด์กฐ ์ฟผ๋ฆฌ๊ฐ€ ์ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.)
  2. ๋‹ค์Œ์œผ๋กœ ๊ณ„์ •์˜ Id ํ•„๋“œ์—์„œ ํ•ด๋‹น AccountId ๊ฐ’์„ ์ฐพ๊ณ  ํ•ด๋‹น ๊ณ„์ •์˜ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. (๊ธฐ๋ณธ WHERE ์ ˆ์ด ์ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.)
  3. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฟผ๋ฆฌ๊ฐ€ ๊ณ„์ •์˜ ๊ด€๋ จ ์—ฐ๋ฝ์ฒ˜๋ฅผ ์กฐํšŒํ•˜๊ณ  ๊ฐ ์—ฐ๋ฝ์ฒ˜์˜ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. (๊ธฐ๋ณธ ์ฟผ๋ฆฌ์˜ ๋ณด์กฐ ์ฟผ๋ฆฌ๊ฐ€ ์ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.)
  4. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ๊ฐ€ ์„ฑ์ด Forbes์ธ ๊ด€๋ จ ์—ฐ๋ฝ์ฒ˜๋ฅผ ๊ฐ€์ง„ ๊ฐ ๊ณ„์ •์˜ ์ด๋ฆ„๊ณผ ๊ฐ ๊ณ„์ •์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ด€๋ จ ์—ฐ๋ฝ์ฒ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํ•„ํ„ฐ๋ง๋œ ์ฟผ๋ฆฌ ์‹คํ–‰

  1. ์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋‹ค์Œ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    SELECT Name, (SELECT Name FROM Contacts)
    FROM Account
    WHERE Id IN (SELECT AccountId FROM Contact WHERE LastName = 'Forbes')
  2. Execute(์‹คํ–‰)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ: ์—ด 1 - ์ด๋ฆ„, ์—ด 2 - ์—ฐ๋ฝ์ฒ˜ ์„ฑ๋ช…์˜ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ชฉ๋ก.

์š”์•ฝ

์ง€๊ธˆ๊นŒ์ง€ ํ‘œ์ค€ ๊ฐœ์ฒด์— ๋Œ€ํ•ด ์˜ฌ๋ฐ”๋ฅธ ์œ ํ˜•์˜ ๊ด€๊ณ„ ์ฟผ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์œ ๋‹›์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐœ์ฒด์˜ ๊ด€๊ณ„ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค

Salesforce ๋„์›€๋ง์—์„œ Trailhead ํ”ผ๋“œ๋ฐฑ์„ ๊ณต์œ ํ•˜์„ธ์š”.

Trailhead์— ๊ด€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๊ฒฌ์— ๊ท€ ๊ธฐ์šธ์ด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ Salesforce ๋„์›€๋ง ์‚ฌ์ดํŠธ์—์„œ ์–ธ์ œ๋“ ์ง€ ์ƒˆ๋กœ์šด ํ”ผ๋“œ๋ฐฑ ์–‘์‹์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ ์˜๊ฒฌ ๊ณต์œ ํ•˜๊ธฐ