[DB]SQL(2)
๐๋ฐ์ดํฐ ์กฐ์ ์ธ์ด
๋ฐ์ดํฐ ์กฐ์ ์ธ์ด(DML)๋ ์คํค๋ง ๋ด์ ๋ฐ์ดํฐ์ ์ฌ๋ฌ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ํ ๋ช ๋ น์ด์ ์งํฉ์ ์๋ฏธํฉ๋๋ค. DML์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์์ , ๊ฒ์ํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์กฐ์ ์ธ์ด๋ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ค ๊ฐ์ง ๋ช ๋ น์ด๋ก ๋๋ ์ ์์ต๋๋ค.
-
INSERT: ํ ์ด๋ธ ์คํค๋ง์ ์๋ก์ด ๋ ์ฝ๋๋ฅผ ์ฝ์
-
UPDATE: ํ ์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํน์ ๋ ์ฝ๋์ ์ปฌ๋ผ ๊ฐ์ ์์
-
DELETE: ํ ์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํน์ ๋ ์ฝ๋๋ฅผ ์ญ์
-
SELECT: ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ ์ฝ๋ ์ค ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋๋ฅผ ๊ฒ์
๐INSERT ๋ฌธ
INSERT๋ฌธ์ ํ ์ด๋ธ์ ์๋ก์ด ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค. ๋ ์ฝ๋๋ฅผ ์ฝ์ ํ ๋ ํ ์ด๋ธ ๋ด์ ์๋ ๋ชจ๋ ์ปฌ๋ผ๊ฐ์ ์ ๋ ฅํ๊ฑฐ๋ ๋ช๋ช ์ปฌ๋ผ๋ง ์ ํ์ ์ผ๋ก ์ ๋ ฅํ ์ ์์ต๋๋ค. ์ปฌ๋ผ์ ๋ํ ๊ฐ์ ์์๋ ์ ์๋ ํ ์ด๋ธ ์คํค๋ง์ ์ปฌ๋ผ ์์์ ๋ฐ๋์ ์ผ์นํด์ผ ํ๊ณ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ ๊ฐ์ ์ ๋ ฅํด์ผ ํฉ๋๋ค. ์ปฌ๋ผ๊ฐ์ด ๋ฌธ์๋ ๋ ์ง์ธ ๊ฒฝ์ฐ ์์๋ฐ์ดํ๋ฅผ ๋ถ์ ๋๋ค.
1
2
3
4
5
6
7
INSERT INTO ํ
์ด๋ธ์ด๋ฆ
VALUES(v1, v2, ... vn)
-- ๋๋
INSERT INTO ํ
์ด๋ธ์ด๋ฆ(์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผm)
VALUES(v1, v2, ... vm)
๐UPDATE ๋ฌธ
UPDATE๋ฌธ์ ํ ์ด๋ธ์ ์ ์ฅ๋ ๋ ์ฝ๋์ ๋ํ ์ปฌ๋ผ ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค. ์ผ๋ถ ๋ ์ฝ๋์ ๋ํด์๋ง ๊ฐ์ ๋ณ๊ฒฝํ๋ ค๊ณ ํ๋ค๋ฉด WHERE์ ์ ์ฌ์ฉํฉ๋๋ค.
1
2
3
UPDATE ํ
์ด๋ธ์ด๋ฆ
SET ์ปฌ๋ผ1 = ๊ฐ1[์ปฌ๋ผ2=๊ฐ2, ..., ์ปฌ๋ผn=๊ฐn]
[WHERE ์กฐ๊ฑด]
1
2
3
UPDATE ํ์
SET ๋์ด = ๋์ด + 1;
SELECT * FROM ํ์;
WHERE ์ ์ด ์๋ UPDATE ๋ฌธ์ ๊ฒฝ์ฐ ์ ์ฒด ๋ ์ฝ๋๋ฅผ ๋์์ผ๋ก ์์ ํ๋ ๊ฒ์ด๋ผ์ MySQL์ด ์คํ์ ๊ฑฐ๋ถํฉ๋๋ค. ๋ถ๊ฐํผํ๊ฒ WHERE ์กฐ๊ฑด์ด ์๋ UPDATE ๋ฌธ์ ์ฌ์ฉํ๋ ค๋ฉด SAFE UPDATES ๋ชจ๋๋ฅผ ๋นํ์ฑํํ๊ณ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๐DELETE ๋ฌธ
DELETE๋ฌธ์ ๋ ์ฝ๋ ๋จ์๋ก๋ง ์ญ์ ํ ์ ์์ต๋๋ค. ํน์ ์ปฌ๋ผ์ ๊ฐ๋ง ์ ํ์ ์ผ๋ก ์ญ์ ํ ์ ์์ต๋๋ค. ํน์ ์ปฌ๋ผ ๊ฐ์ ์ญ์ ํ๊ณ ์ถ๋ค๋ฉด UPDATE๋ฌธ์ ์ฌ์ฉํด NULL๊ฐ์ผ๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
1
2
DELETE FROM ํ
์ด๋ธ์ด๋ฆ
[WHERE ์กฐ๊ฑด]
UPDATE ๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก WHERE ์ ์ด ์๋ DELETE ๋ฌธ์ ์ ์ฒด ๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด๋ผ์ MySQL์ด ์คํ์ ๊ฑฐ๋ถํฉ๋๋ค. ๋ฐ๋ผ์ ๋ถ๊ฐํผํ๊ฒ WHERE ์กฐ๊ฑด์ด ์๋ DELETE ๋ฌธ์ ์ฌ์ฉํ๋ ค๋ฉด SAFE UPDATES ๋ชจ๋๋ฅผ ๋นํ์ฑํํ๊ณ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๐SELECT ๋ฌธ
SELECT ๋ฌธ์ ํ ๊ฐ ๋๋ ๊ทธ ์ด์์ ํ ์ด๋ธ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋๋ฐ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค. ์ด ๋ช ๋ น์ด๋ ๋ณต์กํ ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๊ฒ ๋ค์ํ ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๋ SELECT ๋ฌธ์ ๋ณด๋ฉด SELECT ์ ๋ง ํ์์ ์ด๊ณ ๋๋จธ์ง ์ ์ ๋ชจ๋ ์ ํ์ ์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT [DISTINCT]์ปฌ๋ผ1, ์ปฌ๋ฌ2, ..., ์ปฌ๋ผx
[FROM ํ
์ด๋ธ [INNER JOIN|OUTER JOIN|CROSS JOIN
ํ
์ด๋ธ INNER JOIN|OUTER JOIN|CROSS JOIN
ON ์กฐ์ธ ์กฐ๊ฑด์1
ํ
์ด๋ธ INNER JOIN|OUTER JOIN|CROSS JOIN
...
ํ
์ด๋ธm
ON ์กฐ์ธ ์กฐ๊ฑด์]]
[ON ์กฐ์ธ ์กฐ๊ฑด์]
[WHERE ์กฐ๊ฑด[์ค์ฒฉ์ง์]]
[GROUP BY ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผy
[HAVING ์กฐ๊ฑด]]
[ORDER BY ์ปฌ๋ผ1[ASC|DESC], ..., ์ปฌ๋ผz[ASC|DESC]]
-
SELECT ์
SELECT ์ ์ ์ง์ ๊ฒฐ๊ณผ์ ํฌํจ๋๋ ์ปฌ๋ผ์ ์ง์ ํฉ๋๋ค. ๊ด๊ณ๋์์์ ํ๋ก์ ์ ์ฐ์ฐ์์ ๊ฐ์ต๋๋ค. ์ง์ ๊ฒฐ๊ณผ ์ค๋ณต๋ ๊ฐ์ด ์๋ค๋ฉด DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต ๊ฐ๋ค์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. -
FROM ์
FROM ์ ์ ์ง์๋ฅผ ์ ์ฉํ ํ ์ด๋ธ์ ์ง์ ํฉ๋๋ค. 2๊ฐ ์ด์์ ํ ์ด๋ธ์ ๊ธฐ์ ํ๊ณ ๊ทธ ์ฌ์ด์ CROSS JOIN์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์กฐํฉํ์ฌ ์ฐ๊ฒฐํ๋ ์นดํฐ์ ํ๋ก๋ํธ๊ฐ ์ํ๋ฉ๋๋ค. INNER JOIN, OUTER JOIN ๋ฑ์ ON ์ ์ ์กฐ๊ฑด๊ณผ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ด/์ธ๋ถ ์กฐ์ธ ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค. ๊ฐ ํ ์ด๋ธ์ ๋ณ์นญ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ ์ด๋ฆ์ ๊ฐ๊ฒฐํ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. -
ON ์
ON ์ ์ ์กฐ์ธ ์ฐ์ฐ ์ ํ ์ด๋ธ ๊ฐ์ ์กฐ์ธ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํฉ๋๋ค. ๋ณดํต ๊ธฐ๋ณธํค-์ธ๋ํค ์ฐธ์กฐ๊ด๊ณ๋ฅผ ๋ํ๋ด ๊ด๋ จ ์๋ ๋ ์ฝ๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๋ฑ์กฐ์ธ์ผ๋ก๋ ํ์ฉ ํ ์ ์์ต๋๋ค. -
WHERE ์
WHERE ์ ์ ๋ ์ฝ๋์ ๋ํ ํน์ ๊ฒ์ ์กฐ๊ฑด์ ๊ธฐ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ์กฐ๊ฑด๋ฌธ์ ์ปฌ๋ผ ์ด๋ฆ๊ณผ ๊ฐ์ด ์ฐ์ ์ฐ์ฐ์, ๋น๊ต ์ฐ์ฐ์, ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๋ฑ์ ์ฐ์ฐ์๋ค์ด ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ON ์ ์ ์กฐ์ธ ์ฐ์ฐ์ ๋ํ ์กฐ๊ฑด๋ง ๋ํ๋ด๊ณ WHERE ์ ์ ๋ ์ฝ๋๋ฅผ ์ ํํ๊ธฐ ์ํ์ฌ ์ฌ์ฉ๋๋ค๋ ์ ์์ ON ์ ๊ณผ ๋ค๋ฆ ๋๋ค. -
GROUP BY ์
GROUP BY ์ ์ ํน์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๋์ผํ ๊ฐ๋ผ๋ฆฌ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ์์ฝ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ ์ ์๊ฒ ํฉ๋๋ค. ์ง๊ณํจ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. -
HAVING ์
GROUP BY์ ์ํด ๋ฌถ์ธ ๊ทธ๋ฃน ๋ด์์ ์กฐ๊ฑด์ ์ฃผ์ด ๊ฒ์ํ๊ณ ์ ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ON ์ ์ ์กฐ์ธ์ ๋ํ ์กฐ๊ฑด, WHERE ์ ์ ๋ ์ฝ๋์ ๋ํ ์กฐ๊ฑด, HAVING ์ ์ GROUP BY ์ ์ ์ํ ๊ทธ๋ฃน์ ๋ํ ์กฐ๊ฑด๋ฌธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. -
ORDER BY ์
ORDER BY ์ ์ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ํน์ ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์(ASC), ๋ด๋ฆผ์ฐจ์(DESC)์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ ๋ ์ฌ์ฉํฉ๋๋ค.
๐๋จ์์ง์๋ฌธ
๊ฐ์ฅ ๋จ์ํ ํํ์ SELECT ๋ฌธ์
๋๋ค.
1
2
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ์ด๋ฆ
ํ ์ด๋ธ์ ๋ชจ๋ ์ปฌ๋ผ์ ์ถ๋ ฅํ ๋๋ ์๋์ ๊ฐ์ SELECT ์ ์ ์ฌ์ฉํฉ๋๋ค.
1
2
3
-- * ๊ธฐํธ๋ ๋ชจ๋ (all)์ ์๋ฏธ
SELECT *
FROM ํ
์ด๋ธ์ด๋ฆ
๐์กฐ๊ฑด์ง์๋ฌธ
ํ
์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ผ๋ถ ๋ ์ฝ๋๋ง ์ ํ์ ์ผ๋ก ๊ฒ์ํ ๋ ์ฌ์ฉํ๋ SELECT ๋ฌธ์
๋๋ค.
1
2
3
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ๊ฒ์์กฐ๊ฑด
SELECT ๋ฌธ์๋ ์๋์ ๊ฐ์ ์ฐ์ฐ์๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฐ์ ์ฐ์ฐ์
- ๋น๊ต ์ฐ์ฐ์
- ๋ ผ๋ฆฌ ์ฐ์ฐ์
๐๋ฐ์ดํฐ ์ ๋ ฌ
MySQL์ ๋ฐ์ดํฐ ์ ๋ ฌ์ ๋ํ ๋ช ๋ น์ด ์๋ ๊ฒฝ์ฐ ํ ์ด๋ธ์ ์ง์ ๋ ๊ธฐ๋ณธํค ๊ฐ์ ์์๋๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ํฉ์ ๋ฐ๋ผ ๋ ์ฝ๋์ ์ถ๋ ฅ ์์๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด ORDER BY ์ ์์ ์ปฌ๋ผ ๋ค์ ASC(์ค๋ฆ์ฐจ์) ๋๋ DESC(๋ด๋ฆผ์ฐจ์) ์ ๋ ฌ์ ์ง์ ํ์ฌ ๊ฒฐ๊ณผ ์ถ๋ ฅ ์์๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์ปฌ๋ผ ์ด๋ฆ๋ง ์ฐ๊ณ ์ ๋ ฌ ๋ฐฉํฅ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด ์ํ๋ฉ๋๋ค.
๐ํ์ ์ ๋ณด๋ฅผ ์ฑ๋ณ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์, ์๋ ์์ผ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ฐจ์ ์ ๋ ฌํ์์ค.
1
2
SELECT * FROM ํ์
ORDER BY ์ฑ๋ณ DESC, ์๋
์์ผ ASC;
๐์งํฉ ์ฐ์ฐ์ด ํฌํจ๋ SELECT
์งํฉ ์ฐ์ฐ UNION, INTERSECT, EXCEPT๋ ๊ฐ๊ฐ ๊ด๊ณ ๋์ ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ์ ๋์ํ๋ ์ฐ์ฐ์ ๋๋ค. ์งํฉ ์ฐ์ฐ ์ฌ์ฉ ์ ๋ฐ๋์ ๋ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ ์คํค๋ง๊ฐ ๋์ผํด์ผ ํฉ๋๋ค. MySQL์์๋ INTERSECT์ EXCEPT ์ฐ์ฐ์ ์ง์ํ์ง ์์ต๋๋ค. UION ์ฐ์ฐ์ ์ฌ๋ฌ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ํฉํ ๋ ์ฌ์ฉํ๋ฉฐ ์ค๋ณต๋๋ ๋ ์ฝ๋๋ค์ ์ ๊ฑฐ๋ฉ๋๋ค. ์ค๋ณต์ ํ์ฉํ๊ณ ์ถ์ผ๋ฉด UNION ALL์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
1
SELECT ๋ฌธ1 UNION | UNION ALL SELECT ๋ฌธ2
๐๊ณผ๋ชฉ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์คํ ์ ๊ฐ์ํ๋ ๊ต์์ ๊ต์๋ฒํธ์ ๋์งํธ ๋ ผ๋ฆฌํ๋ก๋ฅผ ๊ฐ์ํ๋ ๊ต์์ ๊ต์๋ฒํธ๋ฅผ ์ถ๋ ฅํ์์ค.
1
2
3
4
5
6
7
(SELECT ๊ต์๋ฒํธ
FROM ๊ณผ๋ชฉ
WHERE ๊ณผ๋ชฉ๋ช
= '๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
')
UNION
(SELECT ๊ต์๋ฒํธ
FROM ๊ณผ๋ชฉ
WHERE ๊ณผ๋ชฉ๋ช
= '๋์งํธ ๋
ผ๋ฆฌํ๋ก')
๐ํน์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ SELECT
- ๋ฒ์์กฐ๊ฑด
์ง์ ํ ๋ฒ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ BETWEEN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
1
2
3
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผi BETWEEN ๊ฐ1 AND ๊ฐ2
- ํฌํจ/๋ถํฌํจ ์กฐ๊ฑด
IN๊ณผ NOT IN ์ฐ์ฐ์๋ ์ปฌ๋ผ ๊ฐ์ด ์ฐ์ฐ์์์ ์ ์๋ ๊ฐ ์ค ํ๋์ ์ผ์นํ๋์ง ๊ฒ์ฌํ๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค. IN ์ฐ์ฐ์๋ ๊ธฐ์ ํ ๊ฐ ์ค ํ๋์ ์ผ์นํ๋ฉด ์ฐธ์ ๋ฐํํ๊ณ NOT IN์ ๊ฑฐ์ง์ ๋ฐํํฉ๋๋ค.
1
2
3
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผn IN | NOT IN(๊ฐ1, ๊ฐ2, ..., ๊ฐm)
-
๋ถ๋ถ ์ผ์น ๊ฒ์
SQL์ ๋ฌธ์์ด์ ๋ค์ํ ํํ์ ๊ฒ์์ ์ํํ ์ ์๋ ์ฐ์ฐ์ ์ง์ํฉ๋๋ค. ์์ ์ผ์น ๊ฒ์ ๋ฟ๋ง ์๋๋ผ LIKE ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ์ปฌ๋ผ ๊ฐ ์ค ์ผ๋ถ๋ถ๋ง ์ผ์นํ๋ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒ์์ ๋ถ๋ถ ์ผ์น ๊ฒ์์ด๋ผ๊ณ ํฉ๋๋ค. ๋ถ๋ถ ์ผ์น ๊ฒ์์ ์์ผ๋ ์นด๋๋ผ๋ ํน์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ํ๋ผ ์ ์์ต๋๋ค.- %: ์ด๋ค ๋ฌธ์์ด๊ณผ๋ ์ผ์น
- _: ์ด๋ค ๋ฌธ์์๋ ์ผ์น
- โ๊น%โ: โ๊นโ์ผ๋ก ์์ํ๋ ์ด๋ค ๋ฌธ์์ด๊ณผ๋ ์ผ์น
- โ%ํฐ%โ: โ์ปดํจํฐโ, โ๋ฐ์ดํฐโ์ ๊ฐ์ด โํฐโ๋ฅผ ํฌํจํ๋ ์ด๋ค ๋ฌธ์์ด๊ณผ๋ ์ผ์น
- โโโ: ๋ ๊ฐ์ ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ชจ๋ ๋ฌธ์์ด๊ณผ ์ผ์น
- โ__%โ: ์ธ ๋ฌธ์ ์ด์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ชจ๋ ๋ฌธ์์ด๊ณผ ์ผ์น
๐๊ธฐํ SELECT
- ๋ณ์นญ
๋ณ์นญ์ SQL ๋ฌธ ๋ด๋ถ์์ ํ ์ด๋ธ์ด๋ ์ปฌ๋ผ์ ์ด๋ฆ์ ์์๋ก ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํฉ๋๋ค.
1
๋ณ๊ฒฝ์ ์ด๋ฆ [AS] ๋ณ๊ฒฝํ ์ด๋ฆ
- NULL ๊ฐ
DBMS๋ NULL ๊ฐ๋ ์ ์ง์ํฉ๋๋ค. NULL์ ์ ์ ์๋ ๊ฐ, ์ ์ฉํ ์ ์๋ ๊ฐ์ ๋ํ๋ด๋ ํน์ ๋ฌธ์์ ๋๋ค. NULL ๊ฐ์ ๊ฒ์ํ๋ ค๋ฉด IS NULL์ ์ฌ์ฉํ๊ณ NULL์ด ์๋ ๊ฐ์ ๊ฒ์ํ๋ ค๋ฉด IS NOT NULL ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๐์ด์ํ์ ์ด ๋ฏธ์ ์ธ ํ์์ ์ถ๋ ฅํ์์ค.
1
2
SELECT * FROM ์ ๊ณต
WHERE ์ด์ํ์ IS NULL
-
ํจ์ ํ์ฉ
- ์ซ์ ๊ด๋ จ ํจ์
ํจ์๋ช ๊ธฐ๋ฅ ABS(x) x์ ์ ๋๊ฐ CEILING(x) x๋ณด๋ค ํฐ ์ ์์ค ๊ฐ์ฅ ์์ ๊ฐ FLOOR(x) x๋ณด๋ค ์์ ์ ์ ์ค ๊ฐ์ฅ ํฐ ๊ฐ ROUND(x, y) x์ ์์์ y ์ดํ ์๋ฆฟ์์์ ๋ฐ์ฌ๋ฆผ์ ์ ์ฉํ ๊ฐ TRUNCATE(x, y) x์ ์์์ y ์ดํ ์๋ฆฟ์์์ ๋ฒ๋ฆผ์ ์ ์ฉํ ๊ฐ POWER(x, y) xy ๊ฐ MOD(x, y) x๋ฅผ y๋ก ๋๋ ๊ฐ์ ๋๋จธ์ง - ๋ฌธ์ ๊ด๋ จ ํจ์
ํจ์๋ช ๊ธฐ๋ฅ ASCII(s) ๋ฌธ์์ด s์ ๋งจ ์ผ์ชฝ ๋ฌธ์์ ASCII ์ฝ๋ ๊ฐ ๋ฐํ CONCAT(s1, s2, โฆ) ์ ๋ ฅ๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ๊ฐ์ ๋ฐํ CHAR_LENGTH(x) ๋ฌธ์์ด s๋ฅผ ๊ตฌ์ฑํ๋ ๋ฌธ์์๋ฅผ ๋ฐํ INSERT(s1, x, y, s2) ๋ฌธ์์ด์ s1์ x๋ฒ์งธ ๋ฌธ์๋ถํฐ y๊ธธ์ด๋งํผ ๋ฌธ์์ด s2๋ก ๋์ฒดํ ๊ฐ์ ๋ฐํ REPLACE(s1, s2, s3) ๋ฌธ์์ด s1 ๋ด์ s2๋ฅผ s3๋ก ๋์ฒดํ ๊ฐ์ ๋ฐํ UPPER(s) ๋ฌธ์์ด s์ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํ SUBSTRING(s, x) ๋ฌธ์์ด s์ x๋ถํฐ์ ๋ฌธ์์ด์ ๋ฐํ STRCMP(s1, s2) s1๊ณผ s2 ๋ฌธ์์ด์ ๋น๊ตํ์ฌ -1, 0, 1 ๋ฐํ
s1 < s2์ธ ๊ฒฝ์ฐ -1 ๋ฐํ
s1 > s2์ธ ๊ฒฝ์ฐ 1 ๋ฐํ
s1 == s2์ธ ๊ฒฝ์ฐ 0 ๋ฐํ- ๋ ์ง ๊ด๋ จ ํจ์
ํจ์๋ช ๊ธฐ๋ฅ ADDDATE(date, INTERVAL t) ๋ ์ง์ t๋งํผ์ ์ด, ๋ถ, ์, ์ผ, ์, ํน์ ๋ ์๋ฅผ ๋ํ ๋ ์ง๋ฅผ ๋ฐํ SUBDATE(date, INTERVAL t) ๋ ์ง์ t๋งํผ์ ์ด, ๋ถ, ์, ์ผ, ์, ํน์ ๋ ์๋ฅผ ๋บ ๋ ์ง๋ฅผ ๋ฐํ CURDATE() ํ์ฌ ๋ ์ง์ ๊ฐ์ ๋ฐํ CURTIME() ํ์ฌ ์๊ฐ์ ๊ฐ์ ๋ฐํ NOW() ํ์ฌ์ ๋ ์ง์ ์๊ฐ ๊ฐ์ ๋ฐํ DATE() DATE TIME ํํ๋ก ์ ๋ ฅ ๋ ๊ฐ์ DATE ๋ถ๋ถ๋ง ๋ฐํ HOUR() TIME ์ ํ์ ๊ฐ์ผ๋ก๋ถํฐ HOUR ์ถ์ถ TIMESTAMPDIFF(type, t1, t2) t2 - t1์ ๊ฐ์ ์๊ฐ type์ ๋ฐ๋ผ ๋ณํ TO_SECONDS(t) ์ ๋ ฅ๋ ์๊ฐ ๋ฐ์ดํฐ t๋ฅผ ์ด๋ก ๋ณํ
Leave a comment