๐ ๏ธ SQL
SQL : Structure Query Language
RDBMS์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌ ๋ฐ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ธ์ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ์ ์ฅ, ์
๋ฐ์ดํธ, ์ ๊ฑฐ, ๊ฒ์ ๋ฐ ๊ฒ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ์ ์ง ๊ด๋ฆฌํ๊ณ ์ต์ ํ
โ๏ธSQL ๋ช
๋ น์ด
DDL(Data Definition Language, ๋ฐ์ดํฐ ์ ์์ด)
๊ฐ DB๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ธฐ ์ํ ๋ช
๋ น์ด ์งํฉ
- CREATE : ํ
์ด๋ธ ์์ฑ
- ALTER : ํ
์ด๋ธ ์์
- DROP : ํ
์ด๋ธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ๋ชจ๋ ์ญ์ (ROLLBACK๋ถ๊ฐ)
- TRUNCATE : ๊ตฌ์กฐ๋ฅผ ๋๊ณ ๋ฐ์ดํฐ๋ง ์ญ์
DML(Data Manipulation Language, ๋ฐ์ดํฐ ์กฐ์์ด)
DB์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ธฐ ์ํ ๋ช
๋ น์ด ์งํฉ
- SELECT : ํ
์ด๋ธ ์กฐํ
- INSERT : ๋ฐ์ดํฐ ์ฝ์
- DELETE : ๋ฐ์ดํฐ ์ญ์ (ROLLBACK๊ฐ๋ฅ)
- UPDATE : ๋ฐ์ดํฐ ์์
DCL(Data Control Language, ๋ฐ์ดํฐ ์ ์ด์ด)
DB๋ฅผ ์ ์ดํ๊ณ ํต์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ช
๋ น์ด ์งํฉ
- GRANT : ๊ถํ ๋ถ์ฌ
- REVOKE : ๊ถํ ํ์
TCL(Transaction Control Language, ๋ฐ์ดํฐ ์ ์ด์ด)
ํธ๋์ญ์
์ ์ด ๋ช
๋ น์ผ๋ก DCL์์ ๋ถ๋ฆฌํด ํํํ๊ธฐ๋ ํจ
- COMMIT : ํธ๋์ญ์
์ฒ๋ฆฌ๊ฐ ์ ์์ ์ผ๋ก ์ข
๋ฃ๋์ด ์ํํ ๋ณ๊ฒฝ ๋ด์ฉ DB์ ๋ฐ์
- ROLLBACK : ํ๋์ ํธ๋์ญ์
์ฒ๋ฆฌ๊ฐ ๋น์ ์์ ์ข
๋ฃ๋์ด DB์ ์ผ๊ด์ฑ์ด ๊นจ์ก์ ๋, ํธ๋์ญ์
์ด ํํ ๋ชจ๋ ๋ณ๊ฒฝ์์
์ทจ์ํด ์ด์ ์ํ๋ก ๋๋๋ฆฌ๋ ์ฐ์ฐ
โ๏ธ SQL ๊ธฐ๋ณธ ์ง๊ณํจ์
์ง๊ณํจ์ | ๊ธฐ๋ฅ |
---|
COUNT | ํน์ ์ด ๊ฐ์ ๊ฐฏ์, ํ์ ๊ฐฏ์ |
MAX | ํน์ ์ด ๊ฐ ์ค ์ต๋๊ฐ |
MIN | ํน์ ์ด ๊ฐ ์ค ์ต์๊ฐ |
SUM | ํน์ ์ด ๊ฐ์ ํฉ๊ณ |
AVG | ํน์ ์ด ๊ฐ์ ํ๊ท |
โ๏ธ Join
๋ ๊ฐ์ ํ
์ด๋ธ์ ๋ฌถ์ด์ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ถ์ถํ ๊ฒฝ์ฐ ํ์ฉ

์ถ์ฒ) https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
INNER JOIN
๋ ํ
์ด๋ธ์ ์กฐ์ธํ ๋, ๋ ํ
์ด๋ธ์ ๋ชจ๋ ์ง์ ํ ์ด์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ ๋ ์ถ๋ ฅ

์ถ์ฒ) https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
OUTER JOIN
๋ ํ
์ด๋ธ์ ์กฐ์ธํ ๋, 1๊ฐ์ ํ
์ด๋ธ์๋ง ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์ถ๋ ฅ
- LEFT OUTER JOIN :์ผ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๊ฐ์ด ์ถ๋ ฅ
- RIHGT OUTER JOIN : ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๊ฐ์ด ์ถ๋ ฅ
- FULL OUTER JOIN : ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๊ฐ์ด ์ถ๋ ฅ

์ถ์ฒ) https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/
CROSS JOIN
ํ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ํ๊ณผ ๋ค๋ฅธ ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ํ์ ์กฐ์ธ

์ถ์ฒ) https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/