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