DB(17)
-
์๋ณ ๋ฐ์ดํฐ ๋ฝ๋ ์ฟผ๋ฆฌ๋ฌธ
EMP ํ ์ด๋ธ ์ฌ์ฉํ์ฌ ์๋ณ ๋ฐ์ดํฐ ๋ฝ๋ ์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต. EMP ์ ์ฒด ํ ์ด๋ธ ๋ฐ์ดํฐ ํํฉ ์๋ณ ์ ์ฌ์ ์ ๋ฐ ์๋ณ ์ ์ฌ์๋ค์ด ๋ฐ๋ ๊ธ์ฌ์ ์ดํฉ์ ๊ตฌํ๋ ์ฟผ๋ฆฌ ์ฐ์ต. ์กฐ๊ฑด๋ณ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ. - ์๋ณ ์ ์ฌ์ ์กฐํ --์๋ณ ์ ์ฌ์ ์กฐํ SELECT EMPNO, ENAME , TO_CHAR(HIREDATE, 'MM') AS HIRE_MONTH FROM EMP; - ์๋ณ ์ ์ฌ์๋ฅผ ๊ทธ๋ฃนํจ์ ์ฌ์ฉํ์ฌ ๊ทธ๋ฃนํํ ํ ์กฐํ SELECT TO_CHAR(HIREDATE, 'MM') AS HIRE_MONTH FROM EMP GROUP BY TO_CHAR(HIREDATE, 'MM') ORDER BY HIRE_MONTH; - ์๋ณ ์ ์ฌ์ ์ ๋ฐ ์๋ณ ์ ์ฌ์๋ค์ด ๋ฐ๋ ๊ธ์ฌ์ ์ดํฉ ์๋ณ ์ ์ฌ์ ๋ชฉ๋ก์ COUNT ์ฌ์ฉํ์ฌ ๊ทธ ์..
2023.04.15 -
SELECT ๊ทธ๋ฃน ํจ์
SELECT * FROM EMP; -- ๊ทธ๋ฃน ํจ์ -- ๋ชจ๋ ์ฌ์์ ๊ธ์ฌ์ ์ดํฉ SELECT SUM(SAL) FROM EMP; ๋ถ์๋ณ๋ก ๊ธ์ฌ์ ์ดํฉ, ๊ธ์ฌ์ ํ๊ท , ๋ถ์์ ์ ์กฐํ GROUP BY๋ฅผ ์ฐ๋ฉด SELECT ์ ์ ์ฌ ์ ์๋ ์ปฌ๋ผ์ด ํน์ ๋จ. 1.๊ทธ๋ฃนํํ ์ปฌ๋ผ(์ค์ ๋ก ๊ทธ๋ฃน์ ๊ธฐ์ค์ด ๋๋ ์ปฌ๋ผ) 2.๊ทธ๋ฃนํจ์(SUM, AVG, COUNT ...) SELECT DEPTNO, SUM(SAL), AVG(SAL), COUNT(EMPNO) FROM EMP GROUP BY DEPTNO; ์ง๊ธ๋ณ ์ธ์์ ๋ฐ ํด๋น ์ง๊ธ์์ ๊ฐ์ฅ ๋์ ๊ธ์ฌ ๋ฐ ๊ฐ์ฅ ๋ฎ์ ๊ธ์ฌ๋ฅผ ์กฐํ ๋จ, ์ง๊ธ์ด '์ฌ์ฅ'์ธ ์ฌ๋ ์ ์ธ WHERE์ ์ FROM์ ๋ฐ๋ก ๋ฐ์ ์์ฑ. SELECT JOB, MAX(SAL), MIN(SAL), COUNT(JOB)..
2023.04.13 -
subquery
์๋ธ์ฟผ๋ฆฌ : ์ฟผ๋ฆฌ ์์ ๋ค๋ฅธ ์ฟผ๋ฆฌ๊ฐ ๋ค์ด๊ฐ ์์ ๊น์ฌ๋ ์ฌ์๊ณผ ๊ฐ์ ๊ธ์ฌ๋ฅผ ๊ฐ๋ ์ฌ์์ ๋ชจ๋ ์ ๋ณด ์กฐํ๋ฅผ ํ๋ค๋ฉด SELECT SAL FROM EMP WHERE ENAME = '๊น์ฌ๋'; SELECT * FROM EMP WHERE SAL = 300; ์์ ๊ฐ์ด 2๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํจ. ๊ทธ๋ฌ๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ๋ฒ์ ์์ฑ ๊ฐ๋ฅ. SELECT * FROM EMP WHERE SAL = (SELECT SAL FROM EMP WHERE ENAME = '๊น์ฌ๋'); ์๋ธ ์ฟผ๋ฆฌ๋ ๋ฌด์กฐ๊ฑด ()์์ ๊ฐ์ธ์ ธ์ผ ํ๊ณ , ํด์ํ ๋๋ ์๋ ์ฟผ๋ฆฌ๋ถํฐ ํด์ --๊ฐํ์ ์ฌ์๊ณผ ๊ฐ์ ๋ถ์์์ ๊ทผ๋ฌดํ๋ ์ฌ์๋ค์ ๋ชจ๋ ์ ๋ณด ์กฐํ SELECT * FROM EMP WHERE DEPTNO = (SELECT DEPTNO FROM EMP W..
2023.03.03 -
โ select-join2
๋ชจ๋ ๊ฒ์๊ธ์ ๊ธ๋ฒํธ, ์์ฑ์ ํด๋น ๊ฒ์๊ธ์ ๋ฌ๋ฆฐ ๋๊ธ๋ฒํธ, ๋๊ธ ๋ด์ฉ, ๋๊ธ ์์ฑ์๋ฅผ ์กฐํํ๋ ์ฟผ๋ฆฌ ๊ฒ์๊ธ ๋ฒํธ ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ โผ์ดํ(EQUAL)์กฐ์ธ, ์ด๋(INNER)์กฐ์ธ SELECT B.BOARD_NUM , TITLE , B.WRITER , REPLY_NUM , R.CONTENT , R.WRITER FROM BOARD B, BOARD_REPLY R WHERE B.BOARD_NUM = R.BOARD_NUM ORDER BY B.BOARD_NUM; ์ปฌ๋ผ๋ช ์ด ์ค๋ณต๋๋ฉด _๋ถ์ ํ ์์๋๋ก ๊ฐ์ ธ๊ฐ. ๋๊ธ ์๋งํผ ๊ฒ์๊ธ ๋ด์ฉ์ ๋ฐ๋ณตํด์ ๋์ด. ์ JOIN ์ฟผ๋ฆฌ๋ ๋๊ธ์ด ๋ฌ๋ฆฐ ๊ฒ์๊ธ๋ง ๋์ด > ๋๊ธ์ด ์ ๋ฌ๋ฆฐ ๊ฒ์๊ธ์ ์ ๋ณด๋ ์กฐํ X ๋๊ธ์ด ์๋ ๊ฒ์๊ธ์ ์ ๋ณด๋ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ โผ์์ฐํฐ(OUTER..
2023.03.02 -
โ select-join
EMP ํ ์ด๋ธ์์ ์ฌ์์ ๋ถ์๋ช ์ด ๋ฌด์์ธ์ง ์ ์ ์์๊น? SELECT * FROM EMP; SELECT * FROM DEPT; EMP๋ฅผ ์กฐํํด์๋ ์ฌ์๋ค์ ๋ถ์๋ฒํธ๋ ์กฐํ ๊ฐ๋ฅํ์ง๋ง ๋ถ์๋ช ์ด ๋ฌด์์ธ์ง ์ ์ ์์. ๋ถ์๋ช ์ DEPT์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ 2๋ฒ ์กฐํํด์ผ ํจ. ์กฐ์ธ ํ์ต์ ์ํ ์ฌ์ ์ง์ SELECT EMP.EMPNO, EMP.ENAME, EMP.SAL FROM EMP; ์ ์ฟผ๋ฆฌ ๊ฐ๋ฅ! ์ปฌ๋ผ๋ช ์์๋ ํ ์ด๋ธ๋ช ์ด ์จ์ด์ ธ ์์ด์ ํํํด๋ ์ฟผ๋ฆฌ ์คํ ๋จ. ํ ์ด๋ธ๋ช ์ ๋ณ์นญ๋ ์ค ์ ์๋ค! AS๋ ์๋ตํจ SELECT E.EMPNO, E.ENAME, E.SAL FROM EMP E; ์ฌ์๋ค์ ์ฌ๋ฒ, ์ฌ์๋ช , ๋ถ์๋ฒํธ, ๋ถ์๋ช , ๋ถ์์ง์ญ ์กฐํํด๋ณด์ SELECT EMPNO , ENAME , DEPTNO ,..
2023.02.27 -
๋ง์ด ์ฐ๋ ํจ์
NVL ํจ์ : NVL(๊ฐ ํน์ ์ปฌ๋ผ, ์นํ ๊ฐ) NULL ๊ฐ์ ์ํ๋ ๊ฐ์ผ๋ก ์กฐํ. SELECT EMPNO , ENAME , COMM , NVL(COMM, 0) --, NUL(COMM, '์ธ์ผํฐ๋ธ ์์') COMM์ ์๋ฃํ์ด ์ซ์์ด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋จ. ์๋ฃํ ์ผ์น! FROM EMP; COMM์ด NULL์ด๋ฉด 0์ผ๋ก ์นํ ํ๋์ ์ปฌ๋ผ์ ์ซ์์ ๋ฌธ์๊ฐ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ด ์ ๋จ > ๊ทธ๋์ ์๋ฃํ ์ผ์นํด์ผ ํจ. NVL2 : NVL2(๊ฐ ํน์ ์ปฌ๋ผ, NULL์ด ์๋ ๋ ๊ฐ, NULL์ผ ๋ ์นํ ๊ฐ) SELECT COMM , NVL(COMM, 0) , NVL2(COMM, 1000, 0) , NVL2(COMM, '๋์ด ์๋', '๋์') --์๋ฃํ ์ผ์นํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ๋ฅ -- , NVL2(COMM, 1000, '..
2023.02.23