์ด ์ด๋ฆ ๋ณ๊ฒฝ
์ด ์ด๋ฆ๋ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด 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% ๋ฏธ๋ง์ ์ถ์ ์ฐ๋๊ฐ ๊ฐ์ ์ ์ฒด ์ด๋ฆ์ ๋ด ์ฌ๋๋ค์ ๋๋ค. ์ฐ๋ฆฌ ๊ฐ์์ ์ถ์๋ ๊ทธ๋ฌํ ์ฌ๋๋ค์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง ๊ตญ๊ฐ์ ๊ท๋ชจ๋ก๋ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ด ์ ์์์ ์๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค.
GO TO FULL VERSION