์ข…์† ํ…Œ์ด๋ธ”

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

SELECT * FROM task

๊ทธ๋Ÿฌํ•œ ์š”์ฒญ์˜ ๊ฒฐ๊ณผ:

ID employee_id ์ด๋ฆ„ ๋งˆ๊ฐ ์‹œ๊ฐ„
1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15
์‚ผ 5 ์ปคํ”ผ๋ฅผ ์‚ฌ๋‹ค 2022-07-01
4 5 ์ปคํ”ผ๋ฅผ ์‚ฌ๋‹ค 2022-08-01
5 5 ์ปคํ”ผ๋ฅผ ์‚ด ๊ฒƒ์ด๋‹ค 2022-09-01
6 (์—†๋Š”) ์‚ฌ๋ฌด์‹ค์„ ์ฒญ์†Œํ•˜๋‹ค (์—†๋Š”)
7 4 ์ฆ๊ฑฐ์šด ์‚ถ (์—†๋Š”)
8 6 ์ฆ๊ฑฐ์šด ์‚ถ (์—†๋Š”)

์ด ํ…Œ์ด๋ธ”์—๋Š” 4๊ฐœ์˜ ์—ด๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

  • id โ€” ๊ณ ์œ ํ•œ ์ž‘์—… ๋ฒˆํ˜ธ(๋ฐ ํ…Œ์ด๋ธ”์˜ ํ–‰)
  • employee_id โ€” ์ž‘์—…์ด ํ• ๋‹น๋œ ์ง์› ํ…Œ์ด๋ธ”์˜ ์ง์› ID์ž…๋‹ˆ๋‹ค.
  • ์ด๋ฆ„ โ€” ์ž‘์—…์˜ ์ด๋ฆ„๊ณผ ์„ค๋ช…
  • ๊ธฐํ•œ - ์ž‘์—…์„ ์™„๋ฃŒํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ๋‰˜์•™์Šค์— ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค. ํƒœ์Šคํฌ N6์—๋Š” employee_id๊ฐ€ ์—†๊ณ  ํด๋ฆฌ๋„ˆ๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ž‘์—…์€ ์žˆ์ง€๋งŒ ์ˆ˜ํ–‰์ž๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ผ์–ด๋‚œ๋‹ค.

๋˜ํ•œ ์ž‘์—… 6-9์—๋Š” ๊ธฐํ•œ์ด ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์—…์„ ์ •๊ธฐ์ ์œผ๋กœ ์ง€์†์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋ฌด์‹ค์€ ๋งค์ผ ์ฒญ์†Œํ•ด์•ผ ํ•˜์ง€๋งŒ, ๋‹น์‹ ๋„ ๋งค์ผ ์‚ถ์„ ์ฆ๊ฒจ์•ผ ํ•ฉ๋‹ˆ๋‹ค :)

ํ•œ ํ…Œ์ด๋ธ”์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ID๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ํ…Œ์ด๋ธ”์„ ์ข…์† ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค .

์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์ž‘์—… ํ…Œ์ด๋ธ”์—์„œ "Enjoying life"๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ž‘์—…์ด ์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์šด ์ข‹์€ ์‚ฌ๋žŒ๋“ค์ด ๋ˆ„๊ตฌ์ธ์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋ฅผ ์œ„ํ•ด SQL์—์„œ ํ•œ ๋ฒˆ์— ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ SQL์—์„œ๋Š” ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ๋™์‹œ์— ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”์ฒญ์˜ ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT columns
FROM Table 1, table 2, tableN

์ค‘์š”ํ•œ! ๋™์‹œ์— ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ…Œ์ด๋ธ” ํ–‰์˜ ๋ฐ์นด๋ฅดํŠธ ์ œํ’ˆ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์€ ๋‘ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์— ์ ‘์ฐฉ๋˜๋Š” ์‹์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ฒซ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์— 5๊ฐœ์˜ ํ–‰์ด ์žˆ๊ณ  ๋‘ ๋ฒˆ์งธ ํ…Œ์ด๋ธ”์— 10๊ฐœ์˜ ํ–‰์ด ์žˆ์œผ๋ฉด ์ด 50๊ฐœ์˜ ํ–‰์ด ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ ์ด ์ฟผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

for (String row1 : table1)
{
	for (String row2 : table2)
   {
  	System.out.println(row1 + row2);
   }
}

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

SELECT * FROM employee, task

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

ID ์ด๋ฆ„ ์ง์—… ์ƒ๋Ÿฌ๋ฆฌ ๋‚˜์ด ID ์ง์› _ID ์ด๋ฆ„ ๋งˆ๊ฐ ์‹œ๊ฐ„
1 ์ด๋ฐ”๋…ธํ”„ ์ด๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž 100000 25 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
2 ํŽ˜ํŠธ๋กœํ”„ ํŽ˜ํŠธ๋ฅด ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž 80000 23 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
์‚ผ ์ด๋ฐ”๋…ธํ”„ ์„ธ๋ฅด๊ฒŒ์ด ์‹œํ—˜ ์žฅ์น˜ 40000 ์„œ๋ฅธ 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
4 ๋ผ๋น„๋…ธ๋น„์น˜ ๋ชจ์ด์ƒค ๊ฐ๋… 200000 35 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
5 ํ‚ค๋ฆฌ์—”์ฝ” ์•„๋‚˜์Šคํƒ€์ƒค ์‚ฌ๋ฌด์‹ค ๊ด€๋ฆฌ์ž 40000 25 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
6 ๋ฐ”์Šค์นด ๊ณ ์–‘์ด 1000 ์‚ผ 1 1 ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-01
1 ์ด๋ฐ”๋…ธํ”„ ์ด๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž 100000 25 2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15
2 ํŽ˜ํŠธ๋กœํ”„ ํŽ˜ํŠธ๋ฅด ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์ž 80000 23 2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15
์‚ผ ์ด๋ฐ”๋…ธํ”„ ์„ธ๋ฅด๊ฒŒ์ด ์‹œํ—˜ ์žฅ์น˜ 40000 ์„œ๋ฅธ 2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15
4 ๋ผ๋น„๋…ธ๋น„์น˜ ๋ชจ์ด์ƒค ๊ฐ๋… 200000 35 2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15
5 ํ‚ค๋ฆฌ์—”์ฝ” ์•„๋‚˜์Šคํƒ€์ƒค ์‚ฌ๋ฌด์‹ค ๊ด€๋ฆฌ์ž 40000 25 2 2 ๋ฐฑ์—”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • 2022-06-15

์ด 48๊ฐœ์˜ ๊ฒฐ๊ณผ ๋ผ์ธ์ด ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” 11๊ฐœ๋งŒ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์„ธ ๊ฐ€์ง€์— ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.

  • ์ด๋ฆ„์ด ๊ฐ™์€ ์—ด: id . ์ด๊ฒƒ์€ ์ง์› ํ…Œ์ด๋ธ” ์˜ ID ์™€ ์ž‘์—… ํ…Œ์ด๋ธ” ์˜ ID ์ž…๋‹ˆ๋‹ค .
  • ๊ฐ ํ…Œ์ด๋ธ”์˜ ํ–‰์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ ์—ด์—์„œ ID 6 ๋‹ค์Œ์— ๋‹ค์‹œ ID = 1์ด ์˜ต๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด ์ง์› ํ…Œ์ด๋ธ”์˜ id๊ฐ€ 6์ด๊ณ  ๋™์ผํ•œ ํ–‰์˜ employee_id๊ฐ€ 1์ธ ์˜๋ฏธ ์—†๋Š” ํ–‰์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜๋ฏธ ์—†๋Š” ์ค„ ์ œ๊ฑฐ

๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์— ํ–‰์ด ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค . ์ด๋Š” employee ๋ฐ task ๋‘ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์— ๋Œ€ํ•œ ๋ฐ์นด๋ฅดํŠธ ๊ณฑ์ž…๋‹ˆ๋‹ค .

๋…ผ๋ฆฌ์ ์œผ๋กœ Employee_id ํ–‰์ด 3์ด๋ฉด id๊ฐ€ 3์ธ ์ง์› ํ…Œ์ด๋ธ”์˜ ํ–‰์—๋งŒ ๋‹ฌ๋ผ๋ถ™์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. WHERE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์˜คํ•ด๋ฅผ ์ˆ˜์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด ๋ด…์‹œ๋‹ค.

SELECT * FROM employee, task 
WHERE emploee.id = task.emploee_id 

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

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

์ข‹์€ ์†Œ์‹์€ ์˜๋ฏธ ์—†๋Š” ์ค„์ด ์‚ฌ๋ผ์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด์˜ id๋Š” ํ•ญ์ƒ employee_id์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜์œ ์†Œ์‹์€ ์‚ฌ๋ฌด์‹ค ์ฒญ์†Œ์™€ ๊ฐ™์ด ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ž‘์—…์ด ์‚ฌ๋ผ์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ employee_id๋Š” NULL์ด๋ฏ€๋กœ WHERE๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ํ๊ธฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.