์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ๋ฐ์ดํฐ ํต์
- ์๋ฐ ๊ธฐ์ด
- ๋ฌ์คํธ ์์
- ๋ฌ์คํธ
- Python challenge
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- ๋ฐฑ์ค
- ๋ฐฑ์ค ๋ฌ์คํธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ubuntu
- java
- ์ฐ๋ถํฌ
- ์ค๋ผํด
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- Operating System
- Rust
- data communication
- C
- Python
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ
- Database
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- ์ด์์ฒด์
- Reversing
- ํ์ด์ฌ
- ์๊ณ ๋ฆฌ์ฆ
- OS
- ์๋ฐ ๊ฐ๋
- ์ค๋ผํดDB
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Day 6~8 ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ฅ DataBase - Day 6
๐๐ป [Chapter 08] ์ฌ๋ฌ ํ ์ด๋ธ์ ํ๋์ ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉํ๋ ์กฐ์ธ
[01] ์กฐ์ธ
- join
- ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒ
- ์กฐ์ธ ์์ฑ : ์กฐ์ธ ๊ฒ์์ ์ํด ํ
์ด๋ธ์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ฑ
- ์กฐ์ธ ์์ฑ์ ์ด๋ฆ์ ๋ฌ๋ผ๋ ๋์ง๋ง ๋๋ฉ์ธ์ ๊ฐ์์ผ ํจ
- ์ผ๋ฐ์ ์ผ๋ก ์ธ๋ํค๊ฐ ์กฐ์ธ ์์ฑ์ผ๋ก ์ด์ฉ๋จ
- ๊ฐ์ ์ด๋ฆ์ ์์ฑ์ด ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์์ฑ ์ด๋ฆ ์์ ํด๋น ์์ฑ์ด ์์๋ ํ ์ด๋ธ์ ์ด๋ฆ ํ์
[02] ์กฐ์ธ ์ข ๋ฅ
- ๋ฑ๊ฐ ์กฐ์ธ(equi join)
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์กฐ์ธ ๋ฐฉ์
- ํ ์ด๋ธ์ ์ฐ๊ฒฐํ ํ์ ์ถ๋ ฅ ํ์ ๊ฐ ํ ์ด๋ธ์ ํน์ ์ด์ ์ผ์นํ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ ํ๋ ๋ฐฉ์
- ๋ด๋ถ ์กฐ์ธ(inner join), ๋จ์ ์กฐ์ธ(simple join)
- ๋ฑ๊ฐ ์กฐ์ธ(equi join) : = ์ฌ์ฉ
- ์์ฒด ์กฐ์ธ(self join) : ํ๋์ ํ ์ด๋ธ์ ์ฌ๋ฌ ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉ
- ์ธ๋ถ ์กฐ์ธ(outer join) : ์กฐ์ธ ์กฐ๊ฑด์ NULL ๋ฐ์ดํฐ๋ ์ถ๋ ฅ
- left
- right
[03] SQL-99 ํ์ค ๋ฌธ๋ฒ์ผ๋ก ๋ฐฐ์ฐ๋ ์กฐ์ธ
- natural join : ๋ ํ ์ด๋ธ์ ๊ฐ์ ์ด ๊ธฐ์ค
- join ~ using : ์กฐ์ธ์ ์ฌ์ฉํ ๊ธฐ์ค์ด ๋ช ์
- join ~ on : ์กฐ์ธ ์กฐ๊ฑด ์ง์ ๋ช ์
- outer join : ์ธ๋ถ ์กฐ์ธ
๐ฅ DataBase - Day 7
๐๐ป [Chapter 09] SQL๋ฌธ ์ ๋ ๋ค๋ฅธ SQL๋ฌธ, ์๋ธ์ฟผ๋ฆฌ
[01] ์๋ธ์ฟผ๋ฆฌ
select ์ปฌ๋ผ1, ์ปฌ๋ผ2, ...
from ํ
์ด๋ธ ๋๋ ๋ทฐ
where ์ปฌ๋ผ ์ฐ์ฐ์ (select ์ปฌ๋ผ1, ์ปฌ๋ผ2, ...
from ํ
์ด๋ธ
where ์กฐ๊ฑด);
sub query
- select ๋ฌธ ์์ ๋ค์ select ๋ฌธ์ด ๊ธฐ์ ๋ ํํ์ ์ฟผ๋ฆฌ
- ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ธ์ฟผ๋ฆฌ์์ ๋ฐ์ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ
- ์ค์ฒฉ๋(nested) ์ฟผ๋ฆฌ
- ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉ๋จ
- ๋จ์ผ select ๋ฌธ์ผ๋ก ์กฐ๊ฑด์์ ๋ง๋ค๊ธฐ์๋ ์กฐ๊ฑด์ด ๋ณต์กํ๊ฑฐ๋ ์์ ํ ๋ค๋ฅธ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ๊ฐ์ ์กฐํํ์ฌ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๋ ค ํ ๋ ์ ์ฉํจ
- ์๋ธ์ฟผ๋ฆฌ๋ ๋ ๋ฒ ์์ฑํด์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ select ๋ฌธ์ ํ ๋ฒ๋ง ์์ฑํด์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํจ
์๋ธ์ฟผ๋ฆฌ์ ํน์ง
- ๋๋ถ๋ถ์ ์๋ธ์ฟผ๋ฆฌ์์๋ order by ์ ์ ์ฌ์ฉํ ์ ์์
- ์๋ธ์ฟผ๋ฆฌ์ select ์ ์ ๋ช ์๋ ์ด์ ๋ฉ์ธ์ฟผ๋ฆฌ์ ๋น๊ต ๋์๊ณผ ๊ฐ์ ์๋ฃํ๊ณผ ๊ฐ์ ๊ฐ์๋ก ์ง์ ํด์ผ ํจ
- ์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ํ์๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์ฐ์ฐ์ ์ข
๋ฅ์ ํธํ์ด ๊ฐ๋ฅํด์ผํจ
- ๋จ์ผํ ์๋ธ์ฟผ๋ฆฌ, ๋ค์คํ ์๋ธ์ฟผ๋ฆฌ
[02] ๋จ์ผํ ์๋ธ์ฟผ๋ฆฌ
- single-row sub query
- ์คํ ๊ฒฐ๊ณผ๊ฐ ๋จ ํ๋์ ํ์ผ๋ก ๋์ค๋ ์๋ธ์ฟผ๋ฆฌ
- ๋จ์ผํ ์ฐ์ฐ์ ์ฌ์ฉ
>, >=, =, <=, <, <>, ^=, !=
[03] ๋ค์คํ ์๋ธ์ฟผ๋ฆฌ
- multi-row sub query
- ์คํ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฌ ๊ฐ์ ํ์ผ๋ก ๋์ค๋ ์๋ธ์ฟผ๋ฆฌ
- ๋ค์คํ ์ฐ์ฐ์ ์ฌ์ฉ
- in
- ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ์ผ์นํ๋ ๊ฐ์ ๊ฐ์ง ํ ์ถ๋ ฅ
- where ์ ์ ์๋ธ์ฟผ๋ฆฌ๊ฐ ์์ ๋์ in ์ฐ์ฐ์์ ๋์ผํ ํจ๊ณผ
- any, some
- ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๊ฐ ์ค ๋ฉ์ธ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์์ ์ฌ์ฉํ ๊ฒฐ๊ณผ๊ฐ ํ๋๋ผ๋ true๋ผ๋ฉด ๋ฉ์ธ์ฟผ๋ฆฌ ์กฐ๊ฑด์์ true๋ก ๋ฐํ
- all
- ์๋ธ์ฟผ๋ฆฌ์ ๋ชจ๋ ๊ฒฐ๊ณผ๊ฐ ์กฐ๊ฑด์์ ๋ง์์ผ๋ง ๋ฉ์ธ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์์ด true๊ฐ ๋๋ ์ฐ์ฐ์
- exit
- ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๊ฐ ํ๋ ์ด์ ์กด์ฌํ๋ฉด ์กฐ๊ฑด์์ด ๋ชจ๋ true
- ์์ฃผ ์ฌ์ฉํ์ง ์์
- ํน์ ์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ์ ์กด์ฌ ์ ๋ฌด์ ๋ฐ๋ผ ๋ฉ์ธ์ฟผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ธ์ถ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํด์ผ ํ ๋ ๊ฐํน ์ฌ์ฉ
- in
[04] ๋ค์ค์ด ์๋ธ์ฟผ๋ฆฌ
- multiple-column sub query
- ์๋ธ์ฟผ๋ฆฌ์ ์ฌ๋ฌ ์ด ์ง์
- ๋ฉ์ธ์ฟผ๋ฆฌ์ ๋น๊ต ์ด์ ๋์ผํ ๊ฐ์/์๋ฃํ์ ()๋ก ๋ฌถ์ด์ ์ง์
๐ฅ DataBase - Day 8
๐๐ป [Chapter 10] ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ, ์์ , ์ญ์ ํ๋ ๋ฐ์ดํฐ ์กฐ์์ด
[01] ๋ฐ์ดํฐ ์ถ๊ฐํ๊ธฐ
- DML(Data Manipulation Language)
- ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ช ๋ น์ด
- insert, update, delete, select ๋ฌธ
- ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ์ฌ ์ ์ฅํ๋ ์ผ๋ จ์ ๊ณผ์ ์ ํธ๋์ญ์ (transaction)์ด๋ผ๊ณ ํจ
- DML์ ํธ๋์ญ์ ์ ๋ค๋ฃจ๋ ๋ช ๋ น์ด
insert into ํ
์ด๋ธ๋ช
[(์ด์ด๋ฆ1, ์ด์ด๋ฆ2 ...)]
values (๋ฐ์ดํฐ๊ฐ1, ๋ฐ์ดํฐ๊ฐ2 ...);
- insert : ํ ์ฝ์
ํ๊ธฐ
- ํ ์ด๋ธ์ ์๋ก์ด ํ์ ์ฝ์ ํ ๋ ์ฌ์ฉํจ
- ์๋ก์ด ๋ฐ์ดํฐ(new data)๋ฅผ ํ ๋จ์๋ก ์ ๋ ฅํจ
- ํ ์ด๋ธ ์ด๋ฆ ๋ค์์ ์ด ์์์ ๋ฐ๋ผ ์ฐจ๋ก๋๋ก ๋ฐ์ดํฐ ๊ฐ์ ๊ธฐ์ ํด์ ์๋ก์ด ํ ์ฝ์
- values ์ ์๋ ํ ์ด๋ธ์ ํ ํ์ ์ฝ์ ๋ ๊ฐ์ ๊ธฐ์ ํจ
- ์ด ์ด๋ฆ์ ๋ชจ๋ ๊ธฐ์ ํ์ง ์๊ณ ์๋ตํ ์ฑ๋ก ์ด ์์์ ๋ง๊ฒ ๋ฐ์ดํฐ ๊ฐ๋ง ๊ธฐ์ ํด๋ ์๋ก์ด ํ์ด ์ฝ์ ๋จ
- ์ค๋ฅ ๋ฐ์ ๊ฒฝ์ฐ
- ์ง์ ํ ์ด ๊ฐ์์ ์ ๋ ฅํ ๋ฐ์ดํฐ ๊ฐ์๊ฐ ๋ง์ง ์์ ๋
- ์ง์ ํ ์ด์ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ ๋ ฅํ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ ํ์ ์ด๋ ํฌ๊ธฐ๊ฐ ๋ง์ง ์์ ๋
- ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋ฒ์ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ถ๊ฐํ๊ธฐ
- insert ๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ ์ฌ์ฉ ์ ์ ์์
- values ์ ์ ์ฌ์ฉํ์ง ์์
- ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๋ ํ ์ด๋ธ์ ์ด ๊ฐ์์ ์๋ธ์ฟผ๋ฆฌ์ ์ด ๊ฐ์๊ฐ ์ผ์นํด์ผ ํจ
- ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๋ ํ ์ด๋ธ์ ์๋ฃํ๊ณผ ์๋ธ์ฟผ๋ฆฌ์ ์๋ฃํ์ด ์ผ์นํด์ผ ํจ
- insert ๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ ์ฌ์ฉ ์ ์ ์์
[02] ๋ฐ์ดํฐ ์์ ํ๊ธฐ
update [๋ณ๊ฒฝํ ํ
์ด๋ธ]
set [๋ณ๊ฒฝํ ์ด1]=[๋ฐ์ดํฐ], [๋ณ๊ฒฝํ ์ด2]=[๋ฐ์ดํฐ], ...
[where ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ๋์ ํ์ ์ ๋ณํ๊ธฐ ์ํ ์กฐ๊ฑด];
- update : ํ ์์ ํ๊ธฐ
- ๊ธฐ์กด์ ๋ฐ์ดํฐ ๊ฐ์ ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ
- update ์ ์ where ์กฐ๊ฑด ์ ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๊ฐฑ์ ํ๋ ค๋ ๋์์ ์กฐ๊ฑด์ ๊ธฐ์ ํ ์ ์์
- ์ ์์
- update ๋ฌธ์ ์คํํ๊ธฐ ์ update ๋ฌธ์ where ์ ๊ฒ์ฆ ์์ ์ด ๋ฐ๋์ ํ์
[03] ๋ฐ์ดํฐ ์ญ์ ํ๊ธฐ
delete [from] [ํ
์ด๋ธ ์ด๋ฆ]
[where ์ญ์ ํ ๋์ ํ์ ์ ๋ณํ๊ธฐ ์ํ ์กฐ๊ฑด์];
- delete : ํ ์ญ์ ํ๊ธฐ
- where ์ ์ ์ฌ์ฉํ ์ ์์
- where ์ ์๋ต ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋จ
728x90
๋ฐ์ํ
'Development Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Lecture] DataBase - Day 10~11 (1) | 2023.12.29 |
---|---|
[Lecture] DataBase - Day 9 (1) | 2023.12.29 |
[Lecture] DataBase - Day 5 (0) | 2023.12.29 |
[Lecture] DataBase - Day 4 (0) | 2023.12.29 |
[Lecture] DataBase - Day 3 (1) | 2023.12.29 |
Comments