๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[SQL] ๋ฐ์ดํฐ ๋ค๋ฃจ๊ธฐ ๋ณธ๋ฌธ
<๋ณธ ๋ธ๋ก๊ทธ๋ ์๋ฆฌ์ค IoT 1๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
๐ฉ๐ป SQL (Structed Query Language)
: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ณ ์กฐ์ํ๊ธฐ ์ฌ์ด ํ์ค ์ธ์ด
โญ ๋ฐ์ดํฐ๋ฒ ์ด์ค
: ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํด ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉํ์ฌ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ๋ชจ์
๐ฉ๐ป ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
: ํ๋ ์ด์์ ํ ์ด๋ธ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ ์๋ก ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ ๊ฐ์ง (SQL๋ก ์ ์ด)
โญ ํ ์ด๋ธ
: ์ปฌ๋ผ๊ณผ ๋ ์ฝ๋๋ก ๊ตฌ์ฑ๋ ํ
: ๋ชจ๋ ํ ์ด๋ธ์ ๊ณ ์ ์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถ
// ๋ฐ์ดํฐ ๊ฒ์
SELECT ๊ฒ์ํ ์นผ๋ผ FROM ํ
์ด๋ธ;
- DISTINCT : ๋๋ ทํ, ๋ถ๋ช ํ ๋ค์ ๋์ค๋ ์ปฌ๋ผ์ ์ค๋ณต ์ ๊ฑฐํจ
- WHERE : ๊ฒ์ํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ์กฐ๊ฑด์ ์ค์
SELCT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
WHERE ์กฐ๊ฑด;
- LIKE : ํน์ ๋ฌธ์๊ฐ ํฌํจ๋ ๋ฌธ์์ด์ ์ฐพ๊ณ ์ถ์ ๋ ์ฌ์ฉ (๋์๋ฌธ์๋ฅผ ์ฐ์ ์์๋ก ๊ตฌ๋ถ)
- ORDER BY : ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ์ ๋ ฌํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ (ASC : ์ค๋ฆ์ฐจ์, ์์๊ฐ DESC : ๋ด๋ฆผ์ฐจ์, ํฐ๊ฐ)
- INSERT : ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๊ฐ์ ์ ์ฅ
INSERT INTO ํ
์ด๋ธ (์ปฌ๋ผ) VALUES(์ถ๊ฐํ ๋ฐ์ดํฐ);
- UPDATE : ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์์ ์ด๋ฏธ ์ ์ฅ๋ ๊ฐ์ ์์
UPDATE ํ
์ด๋ธ
SET ๋ณ๊ฒฝํ ๊ฐ
WHERE ์กฐ๊ฑด;
- DELETE : ํ ์ด๋ธ์์ ์ด๋ฏธ ์ ์ฅ๋ ๊ฐ์ ์ญ์
- COUNT : ๊ฒ์ํ ๊ฒฐ๊ณผ์ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๊ฐ์ ธ์ค๋ ๋ด์ฅ ํจ์ (NULL ๋ฐ์ดํฐ ์ ์ธ)
SELECT COUNT(๊ฒ์ํ ์ปฌ๋ผ) FROM ํ
์ด๋ธ;
- LIMIT : ํ ์ด๋ธ์์ ์ถ๋ ฅํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ ํ
SELECT * FROM ํ
์ด๋ธ LIMIT ์ ํํ ์ซ์
- SUM : ์ง์ ํ ์ปฌ๋ผ๋ค์ ๊ฐ์ ๋ชจ๋ ๋ํ์ฌ ์ด์ ์ ๊ตฌํด์ฃผ๋ ๋ด์ฅ ํจ์
SELECT SUM(๊ฒ์ํ ์ปฌ๋ผ) FROM ํ
์ด๋ธ;
- AVG : ์ง์ ํ ์ปฌ๋ผ๋ค์ ํ๊ท ๊ฐ์ ๊ตฌํด์ฃผ๋ ๋ด์ฅ ํจ์
SELECT AVG(ํ๊ท ๊ตฌํ ์ปฌ๋ผ) FROM ํ
์ด๋ธ;
- MAX : ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์์ ์ต๋๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ด์ฅ ํจ์ (์ซ์ํ ๋ฟ๋ง ์๋๋ผ ๋ฌธ์ํ๋ ๊ฐ๋ฅ)
SELECT MAX(๊ฒ์ํ ์ปฌ๋ผ) FROM ํ
์ด๋ธ;
- MAX : ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์์ ์ต๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ด์ฅ ํจ์ (์ซ์ํ ๋ฟ๋ง ์๋๋ผ ๋ฌธ์ํ๋ ๊ฐ๋ฅ)
SELECT MIN(๊ฒ์ํ ์ปฌ๋ผ) FROM ํ
์ด๋ธ;
- GROUP BY : ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃน
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
GROUP BY ๊ทธ๋ฃน์ ๊ธฐ์ค ์ปฌ๋ผ;
- HAVING : ๋ฐ์ดํฐ ๊ทธ๋ฃน์ ์กฐ๊ฑด ์ ์ฉํ๊ธฐ
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
GROUP BY ๊ทธ๋ฃน์ ๊ธฐ์ค ์ปฌ๋ผ
HAVING ์กฐ๊ฑด;
- INNER JOIN : ๋๊ฐ์ ํ ์ด๋ธ ์กฐํํ๊ธฐ (๋ ๋ฐ์ดํฐ์ค ๊ฒน์น๋ ๋ถ๋ถ๋ง ์ถ๋ ฅ)
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
INNER JOIN ์ฐ๊ฒฐํ ์ปฌ๋ผ;
- INNER JOIN ON : ์กฐ๊ฑด์ ์ ์ฉํด ๋ ๊ฐ์ ํ ์ด๋ธ ์กฐํํ๊ธฐ
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
INNER JOIN ์ฐ๊ฒฐํ ํ
์ด๋ธ
ON ์ฐ๊ฒฐํ ์กฐ๊ฑด ์ปฌ๋ผ;
- LEFT JOIN : ์ผ์ชฝ์ ๋ชจ๋ ํ์ ์กฐํํ๊ธฐ (์ผ์ชฝ ๋ฐ์ดํฐ์ ๊ฒน์น๋ ๋ถ๋ถ ์ถ๋ ฅ)
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
LEFT JOIN ์ฐ๊ฒฐํ ํ
์ด๋ธ
ON ์ฐ๊ฒฐํ ์กฐ๊ฑด ์ปฌ๋ผ;
- RIGHT JOIN : ์ค๋ฅธ์ชฝ์ ๋ชจ๋ ํ์ ์กฐํํ๊ธฐ (์ค๋ฅธ์ชฝ ๋ฐ์ดํฐ์ ๊ฒน์น๋ ๋ถ๋ถ ์ถ๋ ฅ)
SELECT ๊ฒ์ํ ์ปฌ๋ผ
FROM ํ
์ด๋ธ
RIGHT JOIN ์ฐ๊ฒฐํ ํ
์ด๋ธ
ON ์ฐ๊ฒฐํ ์กฐ๊ฑด ์ปฌ๋ผ;
'๐ฉโ๐ป ์ปดํจํฐ ๊ตฌ์กฐ > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] ์๋ธ์ฟผ๋ฆฌ (๋จ์ผ ํ, ๋ค์ค ํ) (0) | 2023.03.15 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] DCL (๋ฐ์ดํฐ ์ ์ด์ด) & ์ธ๋ฑ์ค (0) | 2023.03.10 |
[๋ฐ์ดํฐ ๋ชจ๋ธ๋ง] ์ด์ ํ์๊ณผ ์ ๊ทํ (0) | 2023.03.10 |
[๋ฐ์ดํธ๋ฒ ์ด์ค] ER Diagram (Peter Chen, IE) (0) | 2023.03.10 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํค(key) & ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (0) | 2023.03.10 |