[SQL-Oracle]DDL(๋ฐ์ดํ ์ ์์ด)-CREATE, ์๋ฃํ, ๋์
๋๋ฆฌ, ์ ์ฝ์กฐ๊ฑด-CHECK, NOT NULL, UNIQUE
โซDDL(DATA DEFINITION LANGUAGE) : ๋ฐ์ดํฐ ์ ์์ด --๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด(ํ
์ด๋ธ,๋ทฐ,์ํ์ค,์ธ๋ฑ์ค,๋์์ด,์ฌ์ฉ์ ๋ฑ)๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ SQL ๋ช
๋ น ๐CREATE ํ
์ด๋ธ(TABLE): ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ(ํ)๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ฒด ํ
์ด๋ธ ์์ฑ : ํํ๋์์ ์์ฑ์ ๋ชจ๋ธ๋ง(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง)ํ์ฌ ์ค๊ณํ์ฌ ํ
์ด๋ธ์ ์ค๊ณํ ํ ์์ฑ ํ์)CREATE TABLE ํ
์ด๋ธ๋ช
(์ปฌ๋ผ๋ช
์๋ฃํ[(ํฌ๊ธฐ)] [DEFAULT ๊ธฐ๋ณธ๊ฐ] [์ปฌ๋ผ์ ์ฝ์กฐ๊ฑด] ,์ปฌ๋ผ๋ช
์๋ฃํ[(ํฌ๊ธฐ)] [DEFAULT ๊ธฐ๋ณธ๊ฐ] [์ปฌ๋ผ์ ์ฝ์กฐ๊ฑด],...[,ํ
์ด๋ธ์ ์ฝ์กฐ๊ฑด]) ๐ถ ์ค๋ผํด ์๋ฃํ(DATATYPE): ์ปฌ๋ผ์ ์ ์ฅ ๊ฐ๋ฅํ ๊ฐ์ ํํ๋ฅผ ํํํ๊ธฐ ์ํ ํค์๋ 1.์ซ์ํ : NUMBER[(์ ์ฒด์๋ฆฟ์, ์์์ ์๋ฆฟ์..
2023. 12. 4.
[SQL-Oracle]์๋ธ์ฟผ๋ฆฌ(Subquery) ์ค์ต ์์ ๐ฉ๐ป
โฌ์๋ธ์ฟผ๋ฆฌ(Subquery) ์ค์ต ์์ ๐ฉ๐ป --๋ฌธ์ 1)์ฌ์ ํ
์ด๋ธ์์ BLAKE๋ณด๋ค ๊ธ์ฌ๊ฐ ๋ง์ ์ฌ์๋ค์ ์ฌ๋ฒ, ์ด๋ฆ, ๊ธ์ฌ๋ฅผ ๊ฒ์ํ์์ค. SELECT EMPNO, ENAME, SAL FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME='BLAKE'); --๋ฌธ์ 2)์ฌ์ ํ
์ด๋ธ์์ MILLER๋ณด๋ค ๋ฆ๊ฒ ์
์ฌํ ์ฌ์์ ์ฌ๋ฒ, ์ด๋ฆ, ์
์ฌ์ผ์ ๊ฒ์ํ์์ค. SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE HIREDATE>(SELECT HIREDATE FROM EMP WHERE ENAME='MILLER'); --๋ฌธ์ 3)์ฌ์ ํ
์ด๋ธ์์ ์ฌ์ ์ ์ฒด ํ๊ท ๊ธ์ฌ๋ณด๋ค ๊ธ์ฌ๊ฐ ๋ง์ ์ฌ์๋ค์ ์ฌ๋ฒ, ์ด๋ฆ, ๊ธ์ฌ๋ฅผ ๊ฒ์ํ์์ค. SELECT EMPNO,..
2023. 11. 30.
[SQL-Oracle]JOINํจ์ ์ค์ต ์์ ๐ฉ๐ป
โฌSQL JOIN ํจ์ ์ค์ต ์์ ๐ฉ๐ป ๋ฌธ์ 8๋ฒ์ด ์ด๋ ค์ ๋ค. OUTER JOIN์ ์ฌ์ฉํ ๋ฌธ์ ๋ฅผ ์ข ๋ ํ์ด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค! --SQL [JOIN] ์ค์ต์์ --๋ฌธ์ 1) ๋ถ์ํ
์ด๋ธ๊ณผ ์ฌ์ํ
์ด๋ธ์์ ์ฌ๋ฒ, ์ฌ์๋ช
, ๋ถ์์ฝ๋, ๋ถ์๋ช
์ ๊ฒ์ํ์์ค. --(์ฌ์๋ช
์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๊ฒ) SELECT EMPNO, ENAME, EMP.DEPTNO, DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO ORDER BY ENAME; --๋ฌธ์ 2) ๋ถ์ํ
์ด๋ธ๊ณผ ์ฌ์ํ
์ด๋ธ์์ ์ฌ๋ฒ, ์ฌ์๋ช
, ๊ธ์ฌ, ๋ถ์๋ช
์ ๊ฒ์ํ์์ค. --๋จ, ๊ธ์ฌ๊ฐ 2000 ์ด์์ธ ์ฌ์์ ๋ํ์ฌ ๊ธ์ฌ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ๊ฒ. SELECT EMPNO, ENAME, SAL, DNAME FROM EMP JOIN D..
2023. 11. 30.
[SQL-Oracle]JOIN ํจ์
๐ TABLE JOIN : ๋ ๊ฐ์ด์์ ํ
์ด๋ธ์ ์ ์ฅ๋ ํ์ ์๋ก ๊ฒฐํฉํ์ฌ ์ํ๋ ์ปฌ๋ผ๊ฐ์ ๊ฒ์ํ๋ ๊ธฐ๋ฅ 1) EMP ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ชจ๋ ์ฌ์์ ์ฌ์๋ฒํธ,์ฌ์์ด๋ฆ,๊ธ์ฌ,๋ถ์๋ฒํธ ๊ฒ์ SELECT EMPNO,ENAME,SAL,DEPTNO FROM EMP; 2) DEPT ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ชจ๋ ๋ถ์์ ๋ถ์๋ฒํธ,๋ถ์์ด๋ฆ,๋ถ์์์น ๊ฒ์ SELECT DEPTNO,DNAME,LOC FROM DEPT; SELECT DEPTNO,DNAME,LOC FROM DEPT; --์์์ ๋ ํ
์ด๋ธ์ ์๋ ์ ๋ณด๋ค์ ๊ฒ์ํ๊ธฐ ์ํด SELECT๋ฅผ ๋ ๋ฒ ์ผ๋๋ฐ, ์ด๋ฅผ ํ ๋ฒ์ ๋์ดํ๊ณ FROM ๋ค์ ๋ ํ
์ด๋ธ ์ด๋ฆ์ ๋ชจ๋ ์จ๋ดค๋ค. --EMP ํ
์ด๋ธ๊ณผ DEPT ํ
์ด๋ธ์์ ๋ชจ๋ ์ฌ์์ ์ฌ์๋ฒํธ,์ฌ์์ด๋ฆ,๊ธ์ฌ,๋ถ์์ด๋ฆ,๋ถ์์์น ๊ฒ์ --๋..
2023. 11. 30.
[SQL-Oracle]๋จ์ผํจ์&๊ทธ๋ฃนํจ์ ์ค์ต ์์ ๐ฉ๐ป
โฌSQL ๋จ์ผ ํจ์ ์ค์ต ์์ ๐ฉ๐ป --๋ฌธ์ 1) ์ฌ์ํ
์ด๋ธ์์ ์
์ฌ์ผ์ด 12์์ธ ์ฌ์์ ์ฌ๋ฒ, ์ฌ์๋ช
, ์
์ฌ์ผ ๊ฒ์ํ์์ค. --๋ฐฉ๋ฒ1) SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE HIREDATE LIKE '__/12/__'; --๋ฐฉ๋ฒ2) --์๋์ ๊ฐ์ด TO_CHAR ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ ํจ์จ์ ์. SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE TO_CHAR(HIREDATE, 'MM')='12'; --๋ฌธ์ 2)๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ ์ ์๋ SQL ๋ฌธ์ฅ์ ์์ฑํ์์ค. SELECT EMPNO, ENAME, LPAD(SAL, 10, '*') "๊ธ์ฌ" FROM EMP; --๋ฌธ์ 3)๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ ์ ์๋ SQL ๋ฌธ์ฅ์ ์์ฑํ์์ค..
2023. 11. 30.