์—ด ์ด๋ฆ„ ๋ณ€๊ฒฝ

์—ด ์ด๋ฆ„๋„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด name๊ณผ id๋ผ๋Š” ์ด๋ฆ„์„ ๋ฐ˜๋ณตํ•˜์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ id ์—ด๊ณผ employee_id ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ์—ด๋งŒ ์žˆ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ด์˜ ์ด๋ฆ„๋„ ๋ฐ”๊พธ๊ฒ ์Šต๋‹ˆ๋‹ค.

SELECT  
    task.id AS task_id,  
    task.name AS task_desc, 
    task.deadline AS deadline, 
    emploee.id AS emploee_id,  
    emploee.name AS emp_name,  
emploee.occupation AS	
    emp_occupation 
FROM employee, task
WHERE emploee.id = task.emploee_id

๊ทธ๋ฆฌ๊ณ  ์ด ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

task_id task_desc ๋งˆ๊ฐ ์‹œ๊ฐ„ employee_id emp_name emp_occupation
1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01 1 ์ด๋ฐ”๋…ธํ”„ ์ด๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž
2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15 2 ํŽ˜ํŠธ๋กœํ”„ ํŽ˜ํŠธ๋ฅด ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž
7 ์ฆ๊ฑฐ์šด ์‚ถ (์—†๋Š”) 4 ๋ผ๋น„๋…ธ๋น„์น˜ ๋ชจ์ด์ƒค ๊ฐ๋…
์‚ผ ์ปคํ”ผ๋ฅผ ์‚ฌ๋‹ค 2022-07-01 5 ํ‚ค๋ฆฌ์—”์ฝ” ์•„๋‚˜์Šคํƒ€์ƒค ์‚ฌ๋ฌด์‹ค ๊ด€๋ฆฌ์ž
4 ์ปคํ”ผ๋ฅผ ์‚ฌ๋‹ค 2022-08-01 5 ํ‚ค๋ฆฌ์—”์ฝ” ์•„๋‚˜์Šคํƒ€์ƒค ์‚ฌ๋ฌด์‹ค ๊ด€๋ฆฌ์ž
5 ์ปคํ”ผ๋ฅผ ์‚ฌ๋‹ค 2022-09-01 5 ํ‚ค๋ฆฌ์—”์ฝ” ์•„๋‚˜์Šคํƒ€์ƒค ์‚ฌ๋ฌด์‹ค ๊ด€๋ฆฌ์ž
8 ์ฆ๊ฑฐ์šด ์‚ถ (์—†๋Š”) 6 ๋ฐ”์Šค์นด ๊ณ ์–‘์ด

์ข‹์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์—ด ์ด๋ฆ„ ๋ฌธ์ œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ๊ฐ€ ์•ฝ๊ฐ„ ๊ธธ์–ด์กŒ์ง€๋งŒ ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์—ด์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ๋ณ„์นญ

๋•Œ๋•Œ๋กœ ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ์ฟผ๋ฆฌ์—์„œ ๋งŽ์€ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SQL ์ž‘์„ฑ์ž๋Š” ์—ด์˜ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ” โ€‹โ€‹๋ณ„์นญ์„ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ณ„์นญ(ํ…Œ์ด๋ธ” ๋ณ„์นญ)์˜ ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

FROM table1 alias1, table2 alias2

์งง์€ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ์ฟผ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

SELECT  
    t.id AS task_id,  
    t.name AS task_desc, 
    t.deadline AS deadline, 
    e.id AS emploee_id,  
    e.name AS emp_name,  
    e.occupation AS emp_occupation 
    FROM employee e, task t 
WHERE e.id = t.emploee_id

๊ฐ€๋…์„ฑ์ด ์•ฝ๊ฐ„ ๋–จ์–ด์กŒ์ง€๋งŒ ์ด๋Š” ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด ์ฒ˜์Œ์— ๋‹จ์ˆœํ•˜๊ณ  ๋ช…ํ™•ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT  
  	task.id AS task_id,  
  	task.name AS task_desc, 
  	task.deadline AS deadline, 
  	emploee.id AS emploee_id,  
  	emploee.name AS emp_name,  
emploee.occupation AS	
  	emp_occupation 
FROM  
  	Microsoft_it_department_employee employee, 
  	Year2022_priority_task task 
WHERE emploee.id = task.emploee_id 

์ด ๊ฒฝ์šฐ ๋ณ„์นญ์€ ์ด๋ฏธ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ;)

๊ธฐ๋ณธ ํ‚ค

๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ํ•˜๋‚˜ ๋” ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—… ํ…Œ์ด๋ธ”์— employee_id ์—ด์ด ์žˆ์—ˆ๋˜ ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์‹ญ๋‹ˆ๊นŒ? ์ด๋ฅผ ํ†ตํ•ด ์ง์› ํ…Œ์ด๋ธ”์—์„œ ์ง์› ID๋ฅผ ์ฐธ์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ํ…Œ์ด๋ธ”์—์„œ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ํ–‰์„ ์ฐธ์กฐํ•˜๋ ค๋ฉด ์ฐธ์กฐ๋œ ํ…Œ์ด๋ธ”์— ๊ธฐ๋ณธ ํ‚ค( PRIMARY KEY )๋ผ๊ณ ๋„ ํ•˜๋Š” ID๊ฐ€ ์žˆ๋Š” ์—ด์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค .

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ด๊ฒƒ์€ ๊ฐ’ ์œ ํ˜•์ด int ์ธ ํŠน๋ณ„ํžˆ ์ถ”๊ฐ€๋œ ์—ด์ž…๋‹ˆ๋‹ค . ํ…Œ์ด๋ธ”์— ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ SQL์€ ์ด ์—ด์˜ ๊ฐ’์„ ์ž๋™์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋งŽ์€ ๊ฒƒ๋“ค์ด ์ด ํ‚ค์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ์„œ๋กœ ์—ฐ๊ฒฐ;
  • ID๋กœ ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ๋ง;
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ(์กด์žฌํ•˜์ง€ ์•Š๋Š” ID์— ๋Œ€ํ•œ ์ฐธ์กฐ ์—†์Œ)
  • ์•„๋ฌด๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œ
  • ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค.

๊ทธ๋Ÿฐ๋ฐ ํ…Œ์ด๋ธ”์— ์†Œ์œ„ ์ž์—ฐ ํ‚ค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . ๋‚ด์šฉ์ด ๊ณ ์œ ์„ฑ์„ ์•”์‹œํ•˜๋Š” ์—ด์ด ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ง์› ํ…Œ์ด๋ธ”์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํšŒ์‚ฌ ๋„์ฐฉ ์ˆœ์„œ;
  • ์„ธ๊ธˆ ๋ฒˆํ˜ธ
  • ์—ฌ๊ถŒ ๋ฒˆํ˜ธ ๋ฐ ์‹œ๋ฆฌ์ฆˆ.

๋•Œ๋•Œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์ž๋Š” ์ž์—ฐ ํ‚ค๋ฅผ ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๋ณ„๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๋ ˆ์ฝ”๋“œ๋Š” ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋“ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ง‘ํ–‰๊ด€์ด ์ž์‹ ์˜ ์ด๋ฆ„์„ ๋”ด ์‚ฌ๋žŒ์—๊ฒŒ ๋นš์„ ์กŒ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ์ธํ„ฐ๋„ท์—์„œ ์ฝ์—ˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ๊ณ ์œ  ํ‚ค์˜ ๊ฐœ๋…๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์€ํ–‰๊ณผ ์ง‘ํ–‰๊ด€์€ ์ด๋ฆ„๊ณผ ์ƒ๋…„์›”์ผ๋กœ ์‚ฌ๋žŒ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  99%์˜ ๊ฒฝ์šฐ ์ด๊ฒƒ์€ ์‚ฌ๋žŒ์„ ์‹๋ณ„ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋จธ์ง€ 1% ๋ฏธ๋งŒ์€ ์ถœ์ƒ ์—ฐ๋„๊ฐ€ ๊ฐ™์€ ์ „์ฒด ์ด๋ฆ„์„ ๋”ด ์‚ฌ๋žŒ๋“ค์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ฐ์ž์˜ ์‚ถ์—๋Š” ๊ทธ๋Ÿฌํ•œ ์‚ฌ๋žŒ๋“ค์ด ์—†์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์ง€๋งŒ ๊ตญ๊ฐ€์  ๊ทœ๋ชจ๋กœ๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๊ทธ๋Ÿด ์ˆ˜ ์žˆ์Œ์„ ์•„๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.