DCL - ์ ์ ๋ฅผ ์์ฑํ๊ณ ๊ถํ์ ์ ์ดํ ์ ์๋ DCL ๋ช ๋ น์ด๊ฐ ์๋ค. ์์คํ ๊ถํ - ORACLE์ DBA ๊ถํ์ ๊ฐ์ง๊ณ ์๋ SYSTEM ์ ์ ๋ก ์ ์ํ๋ฉด ์ ์ ์์ฑ๊ถํ์ ๋ค๋ฅธ ์ ์ ์๊ฒ ๋ถ์ฌํ ์ ์๋ค. CONN SYSTEM/MANAGER -> ์ฐ๊ฒฐ๋์๋ค. GRANT CREATE USER TO SCOTT; -> SCOTT์๊ฒ ์ ์ ์์ฑ ๊ถํ ๋ถ์ฌ CONN SCOTT/TIGER -> ์ฐ๊ฒฐ๋์๋ค. CREATE USER PJS IDENTIFIED BY KOREA7; -> KOREA7 ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐ์ง ์ ์ PJS ์์ฑ SESSION ์์ฑ ๊ถํ - ์ ์ ๊ฐ ๋ก๊ทธ์ธ์ ํ๊ธฐ ์ํด์๋ CREATE SESSION ๊ถํ์ ๋ถ์ฌ๋ฐ์์ผ ํ๋ค. CONN SYSTESM/MANAGER GRANT CREATE SESSION TO ..
WINDOW FUNCTION - ๋ถ๋ถ์ ์ด๋๋ง ํ๊ณผ ํ๊ฐ์ ๊ด๊ณ๋ฅผ ์ฝ๊ฒ ์ ์ํ๊ธฐ ์ํด ๋ง๋ ํจ์. - ์๋์ฐ ํจ์๋ฅผ ํ์ฉํ๋ฉด ๋ณต์กํ ํ๋ก๊ทธ๋จ์ ํ๋์ SQL๋ฌธ์ฅ์ผ๋ก ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. - WINDOW ํจ์๋ ๋ค๋ฆ ํจ์์ ๋ฌ๋ฆฌ ์ค์ฒฉํด์ ์ฌ์ฉํ์ง๋ ๋ชปํ์ง๋ง, ์๋ธ์ฟผ๋ฆฌ์์๋ ์ฌ์ฉํ ์ ์๋ค. 1.๊ทธ๋ฃน ๋ด ์์(RANK) ๊ด๋ จ ํจ์ - RANK, DENSE_RANK, ROW_NUMBER ํจ์ 2.๊ทธ๋ฃน ๋ด ์ง๊ณ(AGGREGATE) ๊ด๋ จ ํจ์ - SUM, MAX, MIN, AVG, COUNT ํจ์ 3.๊ทธ๋ฃน ๋ด ํ ์์ ๊ด๋ จ ํจ์ - FIRST_VALUE, LAST_VALUE, LAG, LEAD ํจ์ 4.๊ทธ๋ฃน ๋ด ๋น์จ ๊ด๋ จ ํจ์ - CUME_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPOR..
๋ฐ์ดํฐ ๋ถ์ ํจ์ (AGGREGATE FUNCTIONS) - GROUP FUNCTION์ ํ ๋ถ๋ถ์ด๋ฉฐ, GROUP AGGREGATE FUNCTION์ด๋ผ๊ณ ๋ ๋ถ๋ฅผ ์ ์๋ค. COUNT,SUM,AVG,MAX,MIN์ธ ๊ฐ์ข ์ง๊ณ ํจ์๋ค์ด ํฌํจ๋์ด ์๋ค. (GROUP FUNCTIONS) - ๊ทธ๋ฃนํจ์๋ก๋ ์ง๊ณ ํจ์ ์ ์ธํ๋ฉด, ROLLUPํจ์, CUBE ํจ์, GROUPING SETS ํจ์๊ฐ ์๋ค. - ROLLUP์ GROUP BY์ ํ์ฅ๋ ํํ๋ก ๋ณ๋ ฌ๋ก ์ํ์ด ๊ฐ๋ฅ. (๊ณ์ธต์ ๋ถ๋ฅ๋ฅผ ํฌํจํ๊ณ ์๋ ๋ฐ์ดํฐ ์ง๊ณ์ ์ ํฉ) - CUBE ๋ ๊ฒฐํฉ๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ์ ๋ํ์ฌ ๋ค์ฐจ์์ ์ธ ์ง๊ณ๋ฅผ ์์ฑํ๊ฒ ๋๋ฏ๋ก ROLLUP์ ๋นํด ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ์ฅ์ ์ด ์์ง๋ง, ์์คํ ์ ๋ถํ๋ฅผ ๋ง์ด ์ฃผ๋ ๋จ์ ์ด ์๋ค. - GROUPING ..
(์๋ธ์ฟผ๋ฆฌ์ ์์น) WHERE ์ : NESTED SUBQUERY FROM ์ : INLINE VIEW SELECT์ ์ธ : SCALAR SUBQUERY - ์๋ธ์ฟผ๋ฆฌ๋ฅผ ๋ฌธ๋ฒ์ ์ผ๋ก ๊ตฌ๋ถํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ SQL๋ฌธ์ด ๊ดํธ๋ก ๋ฌถ์ฌ์ ธ ์์ผ๋ฉด ์๋ธ์ฟผ๋ฆฌ์ด๋ค. - ์๋ธ์ฟผ๋ฆฌ๊ฐ ๋ฉ์ธ์ฟผ๋ฆฌ์ ํฌํจ๋๋ ์ข ์์ ์ธ ๊ด๊ณ์ด๋ค. - ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ง๋ง ๋ฉ์ธ์ฟผ๋ฆฌ๋ ์๋ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ์ฌ์ฉํ ์ ์๋ค. (JAVA์ ์์๊ณผ ๊ฐ์ ๊ฐ๋ ) - ์๋ธ์ฟผ๋ฆฌ์์๋ ORDER BY ์ฌ์ฉํ์ง ๋ชปํจ. ์๋ธ์ฟผ๋ฆฌ์ ์กฐ์ธ ์๋ธ์ฟผ๋ฆฌ์ ์กฐ์ธ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ๋ถํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ ํ ์ด๋ธ ์์น๋ฅผ ๋ฐ๊พธ์ด๋ณด๋ ๊ฒ์ด๋ค. ์กฐ์ธ์ ๋ ๊ฐ์ ํ ์ด๋ธ ์์น๋ฅผ ๋ฐ๊พธ์ด ๋ณด๋๋ผ๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉฐ, ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ๋ ์ฃผ์ข ์ ๊ด๊ณ์ด๋ฏ๋ก ์ผ๋ฐ..
๊ณ์ธตํ ์ง์ - ๊ณ์ธตํ ๋ฐ์ดํฐ๋ ๋์ผ ํ ์ด๋ธ์ ๊ณ์ธต์ ์ผ๋ก ์์์ ํ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค. - ์ํฐํฐ๋ฅผ ์ํ ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ค๊ณํ ๊ฒฝ์ฐ ๊ณ์ธตํ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ํ๋ค. ์ํ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ก๋ ์กฐ์ง๋, ์ฌ์, ๋ฉ๋ด๋ฑ์ด ์๋ค. ORACLE ๊ณ์ธตํ ์ง์ SELECT ์นผ๋ผ๋ช .. FROM ํ ์ด๋ธ๋ช WHERE ์กฐ๊ฑด START WITH ์กฐ๊ฑด -> ๊ณ์ธต ๊ตฌ์กฐ ์ ๊ฐ์ ์์ ์์น๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ CONNECT BY PRIOR ์กฐ๊ฑด; -> ๋ค์์ ์ ๊ฐ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ "PRIOR ์์ = ๋ถ๋ชจ" ํํ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ์ธต ๊ตฌ์กฐ์์ ๋ถ๋ชจ -> ์์ ๋ฐฉํฅ์ผ๋ก ๋ด๋ ค๊ฐ๋ ์๋ฐฉํฅ์ผ๋ก ์ ๊ฐ๋๋ค. "PRIOR ๋ถ๋ชจ = ์์" ํํ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ์ธต ๊ตฌ์กฐ์์ ์์ -> ๋ถ๋ชจ ๋ฐฉํฅ์ผ๋ก ์ฌ๋ผ๊ฐ๋ ์ญ๋ฐฉํฅ์ผ๋ก ์ ๊ฐ๋๋ค..
์งํฉ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ ์ฝ์กฐ๊ฑด - SELECT ์ ์ ์นผ๋ผ ์๊ฐ ๋์ผํ๊ณ SELECT ์ ์ ๋์ผ ์์น์ ์กด์ฌํ๋ ์นผ๋ผ์ ๋ฐ์ดํฐ ํ์ ์ด ์ํธ ํธํ ๊ฐ๋ฅํด์ผ ํ๋ค. (๋ฐ๋์ ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ผ ํ์๋ ์์) ์ข ๋ฅ - UNION : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ๊ฒฐ๊ณผ์์ ๋ชจ๋ ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ๋ง๋ ๋ค. - UNION ALL : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ์ค๋ณต๋ ํ๋ ๊ทธ๋๋ก ๊ฒฐ๊ณผ๋ก ํ์๋๋ค. ์ฌ๋ฌ ์ง์ ๊ฒฐ๊ณผ ์ํธ๋ฐฐํ์ ์ผ ๋ ๋ง์ด ์ฌ์ฉํ๋ค. ๊ฐ๋ณ SQL๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์๋ก ์ค๋ณต๋์ง ์๋ ๊ฒฝ์ฐ, UNION๊ณผ ๊ฒฐ๊ณผ ๋์ผ - INTERSECT : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ๊ต์งํฉ์ด๋ค. ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ๋ง๋ ๋ค. - EXCEPT : ์์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์์ ๋ค์ SQL..
FROM ์ ์ JOIN ํํ (์ถ๊ฐ๋ ์ ํ ๊ธฐ๋ฅ์ผ๋ก ํ ์ด๋ธ ๊ฐ์ JOIN ์กฐ๊ฑด์ FROM์ ์์ ๋ช ์์ ์ผ๋ก ์ ์ํ ์ ์๊ฒ ๋์๋ค.) -INNER JOIN -NATURAL JOIN -USIN ์กฐ๊ฑด์ -ON ์กฐ๊ฑด์ -CROSS JOIN -OUTER JOIN โปSQL server์ ๊ฒฝ์ฐ ON ์กฐ๊ฑด์ ๋ง ์ง์ํ๊ณ NATURAL JOIN๊ณผ USING ์ ์ง์ํ์ง ์๋๋ค. 1)INNER JOIN - ๋ด๋ถ JOIN์ด๋ผ๊ณ ํ๋ฉฐ JOIN ์กฐ๊ฑด์์ ๋์ผํ ๊ฐ์ด ์๋ ํ๋ง ๋ฐํํ๋ค. - INNER JOIN ํ์๋ ๊ทธ๋์ WHERE ์ ์์ ์ฌ์ฉํ๋ JOIN ์กฐ๊ฑด์ FROM์ ์์ ์ ์ํ๊ฒ ๋ค๋ ํ์์ด๋ฏ๋ก ๋ค์ ON, USING ๊ผญ ์จ์ฃผ์ด์ผ ํจ - ์์) SELECT EMP.DEPTNO, EMPNO, ENAME, DNAME FROM..
8์ . ORDER BY ์ - ORDER BY ์ ์์ ์นผ๋ผ๋ช , ALIAS๋ช , ์นผ๋ผ ์์๋ฅผ ๊ฐ์ด ํผ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. - ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ์ฉ - ORACLE ์ NULL ๊ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ์ทจ๊ธํ๋ค. ๋ฐ๋ฉด, SQL server ๋ ์ต์๊ฐ์ผ๋ก ๊ฐ์ฃผํ๋ค. - ORDER BY ์ ์๋ SELECT ๋ชฉ๋ก์ ๋ํ๋์ง ์์ ๋ฌธ์ํ ํญ๋ชฉ์ด ํฌํจ๋ ์ ์๋ค. (์๋ธ์ฟผ๋ฆฌ๋ก ์ธํด ์ปฌ๋ผ์ด ์ ํ๋์ง ์๋ ๊ฒฝ์ฐ) - ์์) GROUP BY๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ GROUP BY ํํ์(EX)์ง๊ณํจ์,์ฌ์ฉํ ์์ฑ..)์ด ์๋ ๊ฐ์ ๊ธฐ์ ๋ ์ ์๋ค. TOPN์ฟผ๋ฆฌ - SQL SERVER - ๋๊ฑด์ด์์ N ํ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋๋ ROWNUM =N ์ด ์๋๋ผ ROWNUM ,
7์ . GROUP BY, HAVING ์ ์ง๊ณ ํจ์(๋ค์ค ํ ํจ์) - ์ฌ๋ฌ ํ๋ค์ ๊ทธ๋ฃน์ด ๋ชจ์ฌ์ ๊ทธ๋ฃน๋น ๋จ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ํจ์์ด๋ค. - SELECT, HAVING, ORDER BY ์ ์ ์ฌ์ฉ๊ฐ๋ฅ - ํ ์ด๋ธ ์ ์ฒด ์ง๊ณ๋ฅผ ์ํด GROUP BY ์ ์์ด๋ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. - ์ง๊ณํจ์์ค MAX,MIN,COUNT๋ ๋ฌธ์,๋ ์ง ์ ํ์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค. COUNT(*) - NULL ๊ฐ์ ํฌํจํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. COUNT(ํํ์) - ํํ์์ ๊ฐ์ด NULL ๊ฐ์ธ ๊ฒ์ ์ ์ธํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. SUM(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํฉ๊ณ๋ฅผ ์ถ๋ ฅํ๋ค. AVG(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํ๊ท ์ ์ถ๋ ฅํ๋ค. MAX(ํํ์) - ์ต๋๊ฐ ์ถ๋ ฅ MIN(ํํ์) - ์ต์๊ฐ ์ถ๋ ฅ STDDEV(ํํ..
5์ . WHERE์ WHERE์ ์ฐ์ฐ์ (SQL ์ฐ์ฐ์) -BETWEEN A AND B ( NOT BETWEEN A AND B) -IN (list) ( NOT IN (list)) -LIKE '๋น๊ต๋ฌธ์์ด' -IS NULL ( IS NOT NULL) WHERE ์กฐ๊ฑด - CHAR ๋ณ์๋ VARCHAR2 ๊ฐ์ ๋ฌธ์ํ ํ์ ์ ๊ฐ์ง ์นผ๋ผ์ ์ธ์ฉ๋ถํธ(์์ ๋ฐ์ดํ, ํฐ ๋ฐ์ดํ)๋ก ๋ฌถ์ด์ ๋น๊ต - LIKE EX) SELECT PLAYER_NAME ์ ์์ด๋ฆ , POSITION ํฌ์ง์ , BACK_NO ๋ฐฑ๋๋ฒ , HEIGHT ํค FROM PLAYER WHERE PLAYER_NAME LIKE '์ฅ%'; % : 0๊ฐ์ด์์ ๋ฌธ์ _ : 1๊ฐ์ด์์ ๋จ์ผ ๋ฌธ์ - NULL : ์์ง ์ ์๋์ง ์์ ๋ฏธ์ง์ ๊ฐ, '', 0 ๊ณผ๋ ๋ค๋ฅธ ๊ฐ..
4์ . TCL (TRANSACTION CONTROL LANGUAGE) ํธ๋์ญ์ - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ฐ์ฐ๋จ์ - ๋ถํ ํ ์ ์๋ ์ต์์ ๋จ์ - ํ๋์ ํธ๋์ญ์ ์๋ ํ๋ ์ด์์ SQL๋ฌธ์ฅ์ด ํฌํจ๋๋ค. - ALL OR NOTHING์ ๊ฐ๋ ํธ๋์ญ์ ์ ํน์ฑ 1. ์์์ฑ - ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋๋์ง ์ ํ ์คํ๋์ง ์์ ์ํ 2. ์ผ๊ด์ฑ - ํธ๋์ญ์ ์คํ ์ ๊ณผ ํ์ ์ผ๊ด์ฑ์ด ์์ด์ผ ํจ 3. ๊ณ ๋ฆฝ์ฑ(๊ฒฉ๋ฆฌ์ฑ) - ํธ๋์ญ์ ์ด ์คํ๋๋ ๋์ค ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ํฅ์ ๋ฐ์ ์๋ชป๋ ๊ฒฐ๊ณผ ๋ง๋ค๋ฉด ์๋จ 4. ์ง์์ฑ - ํธ๋์ญ์ ์ํ์ ๊ฐฑ์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ ์๊ตฌ ์ ์ฅ 1. ์ปค๋ฐ(COMMIT) - ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ๋ฐ์ COMMIT; 2. ๋กค๋ฐฑ(ROLLBACK) - ๋ณ๊ฒฝ ์ ๋ฐ์ดํฐ๋ก ๋ณต๊ท ROL..
3์ . DML 1. INSERT 1) INSERT INTO ํ ์ด๋ธ๋ช (COLUMN_LIST) VALUES (VALUE_LIST); ์นผ๋ผ์ ์์๋ ํ ์ด๋ธ์ ์นผ๋ผ ์์์ ๋งค์นํ ํ์๋ ์๊ณ , ์ ์ํ์ง ์์ ์นผ๋ผ์ NULL๊ฐ์ด ์ ๋ ฅ๋จ. ๋จ PK ๊ฑฐ๋ NOT NULL ์ฒ๋ผ NULL๊ฐ์ ํ์ฉํ์ง ์๋๋ค๋ฉด ๋ฐ๋์ ๊ฐ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค. NULL๊ณผ DEFAULT์ค ์ฐ์ ์์๋ NULL์ด๋ค. NOT NULL์ด๋ผ๋ฉด DEFAULT๊ฐ์ด ์๋ค๊ณ ํ๋๋ผ๋ ์๋ฌ๊ฐ ๋จ 2) INSERT INTO ํ ์ด๋ธ๋ช VALUES (VALUE_LIST); ์นผ๋ผ์ ์์๋๋ก ๋น ์ง์์ด ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋์ด์ผ ํ๋ค. ์ ์๋์ง ์์ ๋ฏธ์ง์ ๊ฐ์ ' ' ๋๋ NULL ๋ก ํํํ๋ค. 3) INSERT INTO ํ ์ด๋ธ๋ช (COLUMN_LIST) SELECT (CO..