๐[DB] ๊ธฐ์ด SQL์ ๋ํด์โฆ
๊ธฐ์ด SQL์ ๋ํด์โฆ
1. SQL ์ด๋?
- SQL (Structured Query Language)
โ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)โ ์์ ์๋ฃ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ์ง์ ์ธ์ด
2. ๋ช ๋ น์ด์ ์ข ๋ฅ
- ๋ฐ์ดํฐ ์ ์ ์ธ์ด (DDL : Data Definition Language)
CREATE, DROP, ALTER โฆ
- ๋ฐ์ดํฐ ์กฐ์ ์ธ์ด (DML : Data Manipulation Language)
INSERT, UPDATE, DELETE, SELECT โฆ
- ๋ฐ์ดํฐ ์ ์ด ์ธ์ด (DCL : Data Control Language)
BEGIN, COMMIT, ROLLBACK โฆ
2-1. SELECT - ๋ฐ์ดํฐ ์กฐํ
select [ all | distinct ] ์์ฑ๋ช from ํ ์ด๋ธ
all : ์ ์ฒด ์ถ๋ ฅ, ๊ธฐ๋ณธ ๊ฐ
distinct : ์ค๋ณต ์ ๊ฑฐ
2-2. WHERE - ์กฐ๊ฑด๋ฌธ
where ์กฐ๊ฑด์
- WHERE๋ฌธ์ ์กฐ๊ฑด์ ์์ฑ๋ช ์ฐ์ฐ์ ๊ฐ
ex) price >= 10000 and price <= 20000
10000 <= price <= 20000 ์ธ ๋ฐ์ดํฐ ์ถ๋ ฅ
ex) publisher = โ๊ตฟ์คํฌ์ธ โ or publisher = โ๋ํ๋ฏธ๋์ดโ
publisher๊ฐ โ๊ตฟ์คํฌ์ธ โ ํน์ โ๋ํ๋ฏธ๋์ดโ์ธ ๋ฐ์ดํฐ ์ถ๋ ฅ
2-3. GROUP BY - ๊ทธ๋ฃนํ
group by ์์ฑ๋ช
ex) select custid, count(*) as โ์ฃผ๋ฌธ ๊ฐ์โ, from orders group by custid;
- custid๋ฅผ โ์ฃผ๋ฌธ ๊ฐ์โ์ ๋ํด์ ๊ทธ๋ฃนํ
- โasโ๋ ๋ณ์นญ(alias)์ผ๋ก, ์๋ต์ด ๊ฐ๋ฅ -> count(*) โ์ฃผ๋ฌธ ๊ฐ์โ์ ๋์ผ
- ํต๊ณ์ ๋ง์ด ์ฐ์
2-4. HAVING
having ์กฐ๊ฑด์
- having์ ๋ณดํต group by์ ๊ฐ์ด ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- ์ฆ, ํต๊ณํจ์(์ง๊ณํจ์)๋ฅผ ํตํ ์กฐ๊ฑด์์ด ๋ค์ด๊ฐ
2-5. ORDER BY - ์ ๋ ฌ
order by ์์ฑ๋ช asc|desc
asc : ์ค๋ฆ์ฐจ์ (์์ ๊ฐ -> ํฐ ๊ฐ) -> ๊ธฐ๋ณธ ๊ฐ
desc : ๋ด๋ฆผ์ฐจ์ (ํฐ ๊ฐ -> ์์ ๊ฐ)
2-6. LIMIT
limit ์์์์น, ์ถ์ถํ ๊ฐ์
ex) select * from book limit 0, 3;
index๋ฒํธ 1๋ฒ ~ 3๋ฒ๊น์ง์ ๋ฐ์ดํฐ ์ถ๋ ฅ
3. SQL ์ฐ์ฐ์
|์ฐ์ฐ์|์ค๋ช | |โ|โ| |=|๊ฐ์| |<> ๋๋ !=|๊ฐ์ง ์์| |>|์ด๊ณผ| |<|๋ฏธ๋ง| |>=|์ด์| |<=|์ดํ| |BETWEEN|์ผ์ ๋ฒ์ ์ฌ์ด| |LIKE|ํจํด ๊ฒ์| |IN|์ปฌ๋ผ์ ์ฌ๋ฌ ๊ฐ๋ฅํ ๊ฐ๋ค ์ง์ |
๋๊ธ๋จ๊ธฐ๊ธฐ