๋ฐ์ํ
ํจ์
- ๋ด์ฅํ ํจ์ : ๋ฌธ์ํ ํจ์, ์ซ์ํ ํจ์, ๋ ์งํ ํจ์, ๋ณํํ ํจ์ , NULL ๊ด๋ จ ํจ์
- ๋ฌธ์ํ ํจ์
๋ฌธ์ํ ํจ์ | ํจ์ ์ค๋ช |
LOWER(๋ฌธ์์ด) | ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก ๋ณ๊ฒฝ |
UPPER(๋ฌธ์์ด) | ๋ฌธ์์ด์ ์ํ๋ฒณ ๋๋ฌธ์๋ก ๋ณ๊ฒฝ |
ASCII(๋ฌธ์) | ๋ฌธ์๋ฅผ ASCII ์ฝ๋ ๋ฒํธ๋ก ๋ณ๊ฒฝ |
CHR/CHAR(ASCII๋ฒํธ) | ASCII ์ฝ๋ ๋ฒํธ๋ฅผ ๋ฌธ์๋ ์ซ์๋ก ๋ณ๊ฒฝ |
CONCAT(๋ฌธ์์ด1, ๋ฌธ์์ด2) | ๋ฌธ์์ด1๊ณผ ๋ฌธ์์ด2๋ฅผ ์ฐ๊ฒฐํ๋ค => Oracle์ || / SQL์ + |
SUBSTR/SUBSTRING(๋ฌธ์์ด, m, n) | ๋ฌธ์์ด์ m์์น์์ n๊ฐ์ ๋ฌธ์๋ง ์ถ๋ ฅ => n์์ผ๋ฉด ๋๊น์ง |
LENGTH/LEN(๋ฌธ์์ด) | ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ์ซ์๊ฐ์ผ๋ก ์ถ๋ ฅ |
LTRIM(๋ฌธ์์ด, ์ง์ ๋ฌธ์) | ๋ฌธ์์ด์ ์ฒซ ๋ฌธ์๋ถํฐ '์ง์ ๋ฌธ์' ์ ๊ฑฐ |
RTRIM(๋ฌธ์์ด, ์ง์ ๋ฌธ์) | ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๋ถํฐ '์ง์ ๋ฌธ์' ์ ๊ฑฐ |
TRIM(๋ฌธ์์ด, ์ง์ ๋ฌธ์) | ๋ฌธ์์ด์ ์์ชฝ์์ '์ง์ ๋ฌธ์' ์ ๊ฑฐ |
- TRIM ์ธ์ข ๋ฅ์ ๊ฒฝ์ฐ '์ง์ ๋ฌธ์'๊ฐ ์๋ค๋ฉด ๊ณต๋ฐฑ ์ ๊ฑฐ => SQL์ ๊ณต๋ฐฑ์ ๊ฑฐ๋ง ๊ฐ๋ฅ
- ์ซ์ํ ํจ์
์ซ์ํ ํจ์ | ํจ์ ์ค๋ช |
ABS(์ซ์) | ์ซ์์ ์ ๋๊ฐ ์ถ๋ ฅ |
SIGN(์ซ์) | ์ซ์๊ฐ ์์(1)์ธ์ง, ์์(-1)์ธ์ง, 0 ์ธ์ง๋ฅผ ์ถ๋ ฅ |
MOD(์ซ์1, ์ซ์2) | ์ซ์1์ ์ซ์2๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ ์ถ๋ ฅ |
CEIL/CEILING(์ซ์) | ์ซ์๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์ต์ ์ ์ ์ถ๋ ฅ (์ฌ๋ฆผ) |
FLOOR(์ซ์) | ์ซ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ต์ ์ ์ ์ถ๋ ฅ (๋ด๋ฆผ) |
ROUND(์ซ์, m) | ์ซ์๋ฅผ ์์์ m์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ์ถ๋ ฅ =>m์์ผ๋ฉด ๊ธฐ๋ณธ 0 |
TRUNC(์ซ์, m) | ์ซ์๋ฅผ ์์์ m์๋ฆฌ์์ ๋ฒ๋ฆผํ์ฌ ์ถ๋ ฅ =>m์์ผ๋ฉด ๊ธฐ๋ณธ 0 |
SIN, COS, TAN ... | ์ซ์์ ์ผ๊ฐํจ์ ๊ฐ์ ์ถ๋ ฅ |
EXP(), POWER(), SQRT(), LOG(), LN() | ์ซ์์ ์ง์, ๊ฑฐ๋ญ์ ๊ณฑ, ์ ๊ณฑ๊ทผ, ์์ฐ ๋ก๊ทธ ๊ฐ์ ์ถ๋ ฅ |
- ๋ ์งํ ํจ์
๋ ์งํ ํจ์ | ํจ์ ์ค๋ช |
SYSDATE / GETDATE() | ํ์ฌ ๋ ์ง์ ์๊ฐ ์ถ๋ ฅ |
EXTRACT('YEAR'|'MONTH'|'DAY' from d) / DATEPART('YEAR'|'MONTH'|'DAY', d) |
๋ ์ง ๋ฐ์ดํฐ์์ ๋ /์/์ผ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ (์๊ฐ/๋ถ/์ด๋ ๊ฐ๋ฅ) |
TO_NUMBER(TO_CHAR(d,'YYYY')) / YEAR(d) TO_NUMBER(TO_CHAR(d,'MM')) / MONTH(d) TO_NUMBER(TO_CHAR(d,'DD')) / DAY(d) |
๋ ์ง ๋ฐ์ดํฐ์์ ๋ /์/์ผ ๋ฐ์ดํฐ๋ฅด ใน์ถ๋ ฅ |
- NULL ๊ด๋ จ ํจ์
์ผ๋ฐํ ํจ์ | ํจ์ ์ค๋ช |
NVL(ํํ์1, ํํ์2) / ISNULL(ํํ์1, ํํ์2) | ํํ์1์ ๊ฒฐ๊ณผ๊ฐ์ด NULL์ด๋ฉด ํํ์2 ์ถ๋ ฅ (๋์ ๋ฐ์ดํฐํ์ ์ด ๊ฐ์์ผํจ) |
NULLIF(ํํ์1, ํํ์2) | ํํ์1์ด ํํ์2์ ๊ฐ์ผ๋ฉด NULL, ๊ฐ์ง์์ผ๋ฉด ํํ์1 ์ถ๋ ฅ |
COALESCE(ํํ์1, ํํ์2, ...) | NULL์ด ์๋ ์ต์ด์ ํํ์ ์ถ๋ ฅ (๋ชจ๋ NULL์ด๋ฉด NULL์ถ๋ ฅ) |
์ง๊ณ ํจ์
- ํน์ง
- ์ฌ๋ฌ ํ๋ค์ ๊ทธ๋ฃน์ด ๋ชจ์ฌ์ ๊ทธ๋ฃน๋น ๋จ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ํจ์์ด๋ค.
- SELECT ์ , HAVING ์ , ORDER BY ์ ์ ์ฌ์ฉํ ์ ์๋ค.
- ์ข ๋ฅ
์ง๊ณ ํจ์ | ์ฌ์ฉ ๋ชฉ์ |
COUNT(*) | NULL ๊ฐ์ ํฌํจํ ํ์ ์๋ฅผ ์ถ๋ ฅ |
COUNT(ํํ์) | ํํ์์ ๊ฐ์ด NULL ๊ฐ์ธ ๊ฒ์ ์ ์ธํ ํ์ ์๋ฅผ ์ถ๋ ฅ |
SUM(ํํ์) | ํํ์์ด NULL์ธ ๊ฐ์ ์ ์ธํ ํฉ๊ณ ์ถ๋ ฅ |
AVG(ํํ์) | ํํ์์ด NULL์ธ ๊ฐ์ ์ ์ธํ ํ๊ท ์ถ๋ ฅ |
MAX(ํํ์) | ํํ์์ ์ต๋๊ฐ ์ถ๋ ฅ |
MIN(ํํ์) | ํํ์์ ์ต์๊ฐ ์ถ๋ ฅ |
STDDEV(ํํ์) | ํํ์์ ํ์ค ํธ์ฐจ ์ถ๋ ฅ |
VARIAN(ํํ์) | ํํ์์ ๋ถ์ฐ ์ถ๋ ฅ |
๊ธฐํ ํต๊ณ ํจ์ | ๋ฒคํฐ๋ณ๋ก ๋ค์ํ ํต๊ณ์ ์ ๊ณต |
GROUP BY ์
SELECT ์ปฌ๋ผ๋ช
1
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ปฌ๋ผ๋ช
1;
#ex)ํ์ ๋ช
๋จ์์ ๊ฐ ํ๋
์ ์ถ๋ ฅ
SELECT grade ํ๋
, COUNT(*) ์ธ์์
FROM student GROUP BY grade;
HAVING
- WHERE์ ๊ณผ ๋น์ทํ์ง๋ง ๊ทธ๋ฃน์ ๋ํ๋ด๋ ๊ฒฐ๊ณผ ์งํฉ์ ํ์ ์กฐ๊ฑด์ด ์ ์ฉ๋๋ค๋ ์ฐจ์ด๊ฐ ์๋ค.
- ์ง๊ณ ํจ์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค (WHERE์ ์ ์ฌ์ฉX)
ORDER BY
- ์ ๋ ฌ
- ASC(Ascending) : ์กฐํํ ๋ฐ์ดํฐ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
- DESC(Descending) : ์กฐํํ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
- ํน์ง
- SQL ๋ฌธ์ฅ์ ์ ์ผ ๋ง์ง๋ง์ ์์นํ๋ค.
- ๊ธฐ๋ณธ ์ ๋ ฌ ์์๋ ์ค๋ฆ์ฐจ์(ASC)์ด๋ค.
- Oracle์ NULL๊ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ์ทจ๊ธํ๋ค.
- SQL์ NULL๊ฐ์ ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ์ทจ๊ธํ๋ค.
- ์นผ๋ผ๋ช , ALIAS๋ช , ์นผ๋ผ ์์๋ฅผ ๊ฐ์ด ํผ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
SELECT ๋ฌธ์ฅ ์คํ ์์
- FROM ํ ์ด๋ธ๋ช
- WHERE ์กฐ๊ฑด์
- GROUP BY ์นผ๋ผ์ด๋ ํํ์
- HAVING ๊ทธ๋ฃน์กฐ๊ฑด์
- SELECT ์นผ๋ผ๋ช ALIAS๋ช
- ORDER BY ์นผ๋ผ์ด๋ ํํ์;
=> ํ ์ด๋ธ ์ฐธ์กฐ -> ํด๋น ์๋๊ฒ ์ ๊ฑฐ -> ํ๋ค์ ์๊ทธ๋ฃนํ -> ๊ทธ๋ฃนํ๋๊ฒ ์กฐ๊ฑด ๋ถ์ฌ -> ๋ฐ์ดํฐ ์ถ๋ ฅ -> ๋ฐ์ดํฐ ์ ๋ ฌ
๋ฐ์ํ
'๐์๊ฒฉ์ฆ ๊ณต๋ถ > ๐ SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQLD] SQL ํ์ฉ (0) | 2022.11.05 |
---|---|
[SQLD] SQL ๊ธฐ๋ณธ - ์กฐ์ธ JOIN (0) | 2022.11.05 |
[SQLD] SQL ๊ธฐ๋ณธ (0) | 2022.11.04 |
[SQLD] ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ (0) | 2022.11.04 |
[SQLD] ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์ (0) | 2022.10.20 |