λͺ©μ°¨
1. 23.10.18(μ)
1. 20231018_01_sys.sql
--β μ μλ μ¬μ©μ κ³μ μ‘°ν
SELECT USER
FROM DUAL;
--==>> SYS
--------------------------------------------------------------------------------
--SCOTT κ³μ μ νμ©ν μ μλ νκ²½ μ€μ
--βμ¬μ©μ κ³μ μμ±(SCOTT / TIGER)
create user scott
identified by tiger;
--==>> User SCOTTμ΄(κ°) μμ±λμμ΅λλ€.
--β μ¬μ©μ κ³μ μ κΆν(λ‘€) λΆμ¬
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO SCOTT;
--==>> Grantμ(λ₯Ό) μ±κ³΅νμ΅λλ€.
--β SCOTT μ¬μ©μ κ³μ μ κΈ°λ³Έ ν
μ΄λΈμ€νμ΄μ€λ₯Ό USERS λ‘ μ§μ (μ€μ )
ALTER USER SCOTT DEFAULT TABLESPACE USERS;
--==>> User SCOTTμ΄(κ°) λ³κ²½λμμ΅λλ€.
--β SCOTT μ¬μ©μ κ³μ μ μμ ν
μ΄λΈμΎμ΄μ€λ₯Ό TEMP λ‘ μ§μ (μ€μ )
ALTER USER SCOTT TEMPORARY TABLESPACE TEMP;
--==>> User SCOTTμ΄(κ°) λ³κ²½λμμ΅λλ€.
--β μ¬μ©μ κ³μ νμΈ
SELECT *
FROM DBA_USERS;
--==>>
/* :
SCOTT 49 OPEN 24/04/15 USERS TEMP 23/10/18 DEFAULT DEFAULT_CONSUMER_GROUP 10G 11G N PASSWORD
:
*/
2. 20231018_02_scott.sql
2.1. sql μ ν
**μνμΌ μ€λΌν΄μ μμ μνλ μ μκ³μ 2λ²ν΄λ¦
γ΄ μ΄λ―Έ μ μλ νμΌμ΄ μλ κ²½μ° μμ΄λ¦΄ μ μμ κ·Έλ΄κ²½μ° μ€λ₯Έμͺ½ λ²νΌ ν΄λ¦>μ μν΄μ ν λλΈν΄λ¦
**νμ₯μκ° SQL μΈ νμΌλ λ©λͺ¨μ₯, μλνΈ νλ¬μ€ λ±μμ μ΄λ¦°λ€
**곡μ μλ²μμ 'scott(new).sql' νμΌ λ€μ΄λ°κΈ° -> SCOTTμ΄λΌλ κ³μ μ΄ μμ΄μ μ€μ νκΈ° μν΄

μ€λ¬΄μμλ 'λΉλ°λ²νΈμ μ₯' νμ§ μκΈ°
2.2. μ€μ μμ λ΄μ©
λꡬ>νκ²½μ€μ > λ°μ΄ν°λ² μ΄μ€>NLS>λ μ§νμ: YYYY-MM-DD

--β μ¬μ©μ κ³μ νμΈ
SELECT USER
FROM DUAL;
--=>> SCOTT
--β ν
μ΄λΈ μμ±(DEPT)
CREATE TABLE DEPT
( DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY
, DNAME VARCHAR2(14)
, LOC VARCHAR2(13)
) ;
--==>> Table DEPTμ΄(κ°) μμ±λμμ΅λλ€.
--β ν
μ΄λΈ μμ±(EMP)
CREATE TABLE EMP
( EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY
, ENAME VARCHAR2(10)
, JOB VARCHAR2(9)
, MGR NUMBER(4)
, HIREDATE DATE
, SAL NUMBER(7,2)
, COMM NUMBER(7,2)
, DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT
);
--==>> Table EMPμ΄(κ°) μμ±λμμ΅λλ€.
INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-7-1987','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-7-1987','dd-mm-yyyy'),1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
--==>> 1 ν μ΄(κ°) μ½μ
λμμ΅λλ€. * 18
--β ν
μ΄λΈ μμ±(BONUS)
CREATE TABLE BONUS
( ENAME VARCHAR2(10)
, JOB VARCHAR2(9)
, SAL NUMBER
, COMM NUMBER
) ;
--==>> Table BONUSμ΄(κ°) μμ±λμμ΅λλ€.
--β ν
μ΄λΈ μμ±(SALGRADE)
CREATE TABLE SALGRADE
( GRADE NUMBER
, LOSAL NUMBER
, HISAL NUMBER
);
--==>> Table SALGRADEμ΄(κ°) μμ±λμμ΅λλ€.
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
--==>> 1 ν μ΄(κ°) μ½μ
λμμ΅λλ€.
--β 컀λ°
COMMIT;
--==>> μ»€λ° μλ£.
--β SCOTT κ³μ μ΄ κ°κ³ μλ(μμ νκ³ μλ) ν
μ΄λΈ μ‘°ν
SELECT *
FROM TAB;
--==>>
/*
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
*/
SELECT *
FROM USER_TABLES;
--==>>
--** μ΄λ€ ν
μ΄λΈμ μ κ·Όν μ μλμ§, μΈ μ μλμ§ μ‘°ν
/*
DEPT USERS VALID 10 1 255 65536 1048576 1 2147483645 YES N 1 1 N ENABLED NO N N NO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLED YES DISABLED DISABLED NO NO YES DEFAULT
EMP USERS VALID 10 1 255 65536 1048576 1 2147483645 YES N 1 1 N ENABLED NO N N NO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLED YES DISABLED DISABLED NO NO YES DEFAULT
BONUS USERS VALID 10 1 255 65536 1048576 1 2147483645 YES N 1 1 N ENABLED NO N N NO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLED YES DISABLED DISABLED NO NO YES DEFAULT
SALGRADE USERS VALID 10 1 255 65536 1048576 1 2147483645 YES N 1 1 N ENABLED NO N N NO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLED YES DISABLED DISABLED NO NO YES DEFAULT
*/
--β μμμ μ‘°νν κ°κ°μ ν
μ΄λΈλ€μ΄
-- μ΄λ€ ν
μ΄λΈμ€νμ΄μ€μ μ μ₯λμ΄ μλμ§ μ‘°ν
SELECT TABLE_NAME, TABLESPACE_NAME
FROM USER_TABLES;
--==>>
/*
DEPT USERS
EMP USERS
BONUS USERS
SALGRADE USERS
*/
--β ν
μ΄λΈ μμ±(TBL_EXAMPLE1)
CREATE TABLE TBL_EXAMPLE1
( NO NUMBER(4)
, NAME VARCHAR2(20)
, ADDR VARCHAR2(20)
);
--==>> Table TBL_EXAMPLE1μ΄(κ°) μμ±λμμ΅λλ€.
--β ν
μ΄λΈ μμ±(TBL_EXAMPLE2)
CREATE TABLE TBL_EXAMPLE2
( NO NUMBER(4)
, NAME VARCHAR2(20)
, ADDR VARCHAR2(20)
) TABLESPACE TBS_EDUA;
--==>> Table TBL_EXAMPLE2μ΄(κ°) μμ±λμμ΅λλ€.
--** TBS_EDUA: μ΄μ μ§μ λ§λ ν
μ΄λΈμ€νμ΄μ€λ‘ μ§μ
--β TBL_EXAMPLE1 κ³Ό TBL_EXAMPLE2 ν
μ΄λΈμ΄
-- κ°κ° μ΄λ€ ν
μ΄λΈ μ€νμ΄μ€μ μ μ₯λμ΄ μλμ§ μ‘°ν
SELECT TABLE_NAME, TABLESPACE_NAME
FROM USER_TABLES;
--==>>
/*
DEPT USERS
EMP USERS
BONUS USERS
SALGRADE USERS
TBL_EXAMPLE1 USERS
TBL_EXAMPLE2 TBS_EDUA
*/
-------------------------------------------------------------------------------
--β β β κ΄κ³ν λ°μ΄ν°λ² μ΄μ€(RDBMS) β β β --
--κ°κ°μ λ°μ΄ν°λ₯Ό ν
μ΄λΈμ ννλ‘ μ°κ²°μμΌ μ μ₯ν΄λμ ꡬ쑰
--κ·Έλ¦¬κ³ μ΄λ€ κ°κ°μ ν
μ΄λΈ κ°μ κ΄κ³λ₯Ό μ€μ νμ¬ μ°κ²°μμΌ λμ ꡬ쑰
/*=====================================
β» SELECT λ¬Έμ μ²λ¦¬(PARSING) μμ
SELECT 컬λΌλͺ
-- β€ β
FROM ν
μ΄λΈλͺ
-- β β
WHERE 쑰건μ -- β‘ +
GROUP BY μ -- β’ +
HAVING 쑰건μ -- β£ +
ORDER BY μ -- β€ +
=====================================*/
--** ν
μ΄λΈ μ€νμ΄μ€μμ FROMμ κ°μ₯ λ¨Όμ μ°Ύμ
--** FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
--** 1,5λ λ°λμ μμ΄μΌν¨
--** +λ λ¨λ
μΌλ‘ μ‘΄μ¬κ°λ₯
-------------------------------------------------------------------------------
--β SCOTT μμ μ ν
μ΄λΈ μ‘°ν
SELECT *
FROM TAB;
--==>>
/*
BONUS TABLE -- 보λμ€(BONUS) λ°μ΄ν° ν
μ΄λΈ
DEPT TABLE -- λΆμ(DEPARTMENTS) λ°μ΄ν° ν
μ΄λΈ
EMP TABLE -- μ¬μ(EMPLOYEES) λ°μ΄ν° ν
μ΄λΈ
SALGRADE TABLE -- κΈμ¬(SAL) λ°μ΄ν° ν
μ΄λΈ
TBL_EXAMPLE1 TABLE
TBL_EXAMPLE2 TABLE
*/
--β κ° ν
μ΄λΈμ λ°μ΄ν° μ‘°ν
SELECT *
FROM BONUS;
--==>> μ‘°ν κ²°κ³Ό μμ(μ‘°νλ λ°μ΄ν°κ° μ‘΄μ¬νμ§ μμ)
SELECT *
FROM DEPT;
--==>>
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
*/
SELECT *
FROM EMP;
--==>>
/*
EMPNO ENAME JOB MGR HIGEDATE SAL COMMI DEPTNO
μ¬μλ²νΈ μ΄λ¦ μ§μ
κ΄λ¦¬μ μ
μ¬μΌ κΈμ¬ μλΉ λΆμλ²νΈ
7369 SMITH CLERK 7902 80/12/17 800 20
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30
7521 WARD SALESMAN 7698 81/02/22 1250 500 30
7566 JONES MANAGER 7839 81/04/02 2975 20
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30
7698 BLAKE MANAGER 7839 81/05/01 2850 30
7782 CLARK MANAGER 7839 81/06/09 2450 10
7788 SCOTT ANALYST 7566 87/07/13 3000 20
7839 KING PRESIDENT 81/11/17 5000 10
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30
7876 ADAMS CLERK 7788 87/07/13 1100 20
7900 JAMES CLERK 7698 81/12/03 950 30
7902 FORD ANALYST 7566 81/12/03 3000 20
7934 MILLER CLERK 7782 82/01/23 1300 10
*/
SELECT *
FROM SALGRADE;
--==>>
/*
2 1201 1400
3 1401 2000
4 2001 3000
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
*/
SELECT *
FROM TBL_EXAMPLE1;
--==>> μ‘°ν κ²°κ³Ό μμ(μ‘°νλ λ°μ΄ν°κ° μ‘΄μ¬νμ§ μμ)
SELECT *
FROM TBL_EXAMPLE2;
--==>> μ‘°ν κ²°κ³Ό μμ(μ‘°νλ λ°μ΄ν°κ° μ‘΄μ¬νμ§ μμ)
SELECT *
FROM SALGRADE;
--==>>
/*
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
*/
--β DEPT ν
μ΄λΈμ μ‘΄μ¬νλ 컬λΌμ ꡬ쑰 νμΈ
DESCRIBE DEPT;
--==>>
/*
μ΄λ¦ λ? μ ν --** λ? : NULL μν μμ© μ»¬λΌμΈμ§
------ -------- ------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
*/
-- DEPTNO DNAME LOC
-- λΆμλ²νΈ λΆμλͺ
λΆμμμΉ
----------------------------
-- 10 μΈμ¬λΆ μμΈ -> λ°μ΄ν° μ
λ ₯ κ°λ₯
-- 20 λμ -> λ°μ΄ν° μ
λ ₯ κ°λ₯
-- κ°λ°λΆ κ²½κΈ° -> λ°μ΄ν° μ
λ ₯ λΆκ°~!!!
--------------------------------------------------------------------------------
--β β β μ€λΌν΄μ μ£Όμ μλ£ν(DATA TYPE) β β β --
/*
cf) MSSQL μλ²μ μ μ νν νμ
tinyint 0 ~ 255 1byte
smallint -32.768 ~ 32.767 2byte
int -21μ΅ ~ 21μ΅ 4byte
bigint μμ²νΌ 8byte
MSSQL μλ²μ μ€μ νν νμ
float, real
MSSQL μλ²μ μ«μ νν νμ
decimal, numeric
MSSQL μλ²μ λ¬Έμ νν νμ
char, varchar, Nvarchar
β» ORACLE μ μ«μ νν νμ
μ΄ ν κ°μ§λ‘ ν΅μΌλμ΄ μλ€.
1. μ«μν NUMBER -> -10μ 38μΉ-1 ~ 10μ 38μΉ
NUMBER(3) -> -999 ~ 999 --** κΈΈμ΄λ₯Ό λͺ
μν΄μΌ λ©λͺ¨λ¦¬ λλΉκ° μ μ
NUMBER(4) -> -9999 ~ 9999
NUMBER(4,1) -> -999.9 ~ 999.9 --** λλ²μ§Έ μ리: μμμ μ΄ν μ리
β» ORACLE μ λ¬Έμ νν νμ
2. λ¬Έμν CHAR -> κ³ μ ν ν¬κΈ°
(무쑰건 μ§μ λ ν¬κΈ° μλͺ¨)
CHAR(10) <-γ
‘- 'κ°μμ₯' 6Byte μ΄μ§λ§ 10Byte λ₯Ό μλͺ¨ --** 10λ°μ΄νΈλ₯Ό λ΄μ μ μλ λ¬Έμμ΄ μ§μ
CHAR(10) <---- 'μ λ νκΈΈλ' 10Byte
CHAR(10) <---- 'μ€μ κΉ¬νκΈΈλ' 10Byte λ₯Ό μ΄κ³Όνλ―λ‘ μ
λ ₯ λΆκ°
VARCHAR2 -> κ°λ³ν ν¬κΈ°
(μν©μ λ°λΌ ν¬κΈ°κ° λ³κ²½)
VARCHAR2(10) <-γ
‘- 'κ°μμ₯' 6Byte
VARCHAR2(10) <---- 'μ λ νκΈΈλ' 10Byte
VARCHAR2(10) <---- 'μ€μ κΉ¬νκΈΈλ' 10Byte λ₯Ό μ΄κ³Όνλ―λ‘ μ
λ ₯ λΆκ°
//** CHARκ° VARCHAR2λ³΄λ€ ν¨μ¨μ μ -> λ°μ΄ν°μΈμ λ°μ΄ν°μ λν μ λ³΄κ° VARCHAR2κ° λ νΌ
NCHAR -> μ λμ½λ κΈ°λ° κ³ μ ν ν¬κΈ°(κΈμμ)
NCHAR(10) <---- 10κΈμ
NVARCHAR2 -> μ λμ½λ κΈ°λ° κ°λ³ν ν¬κΈ°(κΈμμ)
NVARCHAR2(10) <---- 10κΈμ
3. λ μ§ν DATE
*/
SELECT HIREDATE
FROM EMP;
--==>>
/*
1980-12-17
*/
--ALTER SESSION SET NLS_DATE_FORMAT='MM/DD';
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';
--==>> Sessionμ΄(κ°) λ³κ²½λμμ΅λλ€.
--** 23/10/18 11:47:20
-- μλ°μ ν΄μ΄ λ€λ₯΄λκΉ μ€λΌν΄μμ νκ²½μ
ν
νλ€κ³ νλλΌλ
-- λ μ§ ν¬λ©§μ΄ λ€λ₯΄κ² λμ¬ μ μμ
--DESCRIBE EMP; --λ¨μΆ DESCRIBE = DESC
DESC EMP;
/*
μ΄λ¦ λ? μ ν
-------- -------- ------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
*/
SELECT SYSDATE
FROM DUAL;
--==>> 2023-10-18
--** Oracle λ°μ΄ν°λ² μ΄μ€μμ νμ¬ λ μ§μ μκ°μ λ°ννλ ν¨μ
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH:MI:SS';
--==>> Sessionμ΄(κ°) λ³κ²½λμμ΅λλ€.
SELECT SYSDATE
FROM DUAL;
--==>> 2023-10-18 12:05:20
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
--==>> Sessionμ΄(κ°) λ³κ²½λμμ΅λλ€.
--** 24μλ₯Ό κΈ°μ€μΌλ‘ μκ° μ€μ λ¨ EX. μ€ν 1μ ->13
SELECT SYSDATE
FROM DUAL;
--==>> 2023-10-18 12:05:20
--==>>2023-10-18 14:05:55
--β EMP ν
μ΄λΈμμ μ¬μλ²νΈ, μ¬μλͺ
, κΈμ¬, 컀미μ
λ°μ΄ν°λ§ μ‘°ννλ€.
SELECT EMPNO, ENAME, SAL, COMM
FROM EMP;
--==>>
/*
7369 SMITH 800
7499 ALLEN 1600 300
7521 WARD 1250 500
7566 JONES 2975
7654 MARTIN 1250 1400
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500 0
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
*/
/* 1-λ¬Έμ & ν¨κ»νΌ λ΄μ© ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β EMP ν
μ΄λΈμμ λΆμλ²νΈκ° 20μΈ μ§μλ€μ λ°μ΄ν°λ€ μ€
--μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
, κΈμ¬, λΆμλ²νΈ μ‘°ν
SELECT μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
, κΈμ¬, λΆμλ²νΈ
FROM EMP
WHERE λΆμλ²νΈκ° 20;
SELECT EMPNO, ENAME, JOB, SAL, DEPTNO
FROM EMP
WHERE DEPTNOκ° 20;
--SELECT EMPNO, ENAME, JOB, SAL, DEPTNO
--FROM EMP
--WHERE DEPTNO == 20;
--==>> μλ¬λ°μ
SELECT EMPNO, ENAME, JOB, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 20;
--==>>
/*
7369 SMITH CLERK 800 20
7566 JONES MANAGER 2975 20
7788 SCOTT ANALYST 3000 20
7876 ADAMS CLERK 1100 20
7902 FORD ANALYST 3000 20
*/
SELECT EMPNO AS "μ¬μλ²νΈ", ENAME "μ¬μλͺ
" , JOB μ§μ’
λͺ
, SAL "κΈ μ¬", DEPTNO "λΆμ λ²νΈ"
FROM EMP;
--β» ν
μ΄λΈμ μ‘°ννλ κ³Όμ μμ
--κ° μ»¬λΌμ μ΄λ¦μλ λ³μΉ(ALIAS)μ λΆμ¬ν μ μλ€.
--κΈ°λ³Έ ꡬ문μ νμμ γ컬λΌλͺ
AS "λ³μΉμ΄λ¦"γμ ννλ‘ μμ±λλ©°
--μ΄ λ, γASγλ μλ΅μ΄ κ°λ₯νλ€.
--λν, λ³μΉ μ΄λ¦μ κ°μΈλ γ""γλ μλ΅μ΄ κ°λ₯νμ§λ§
--γ""γ λ₯Ό μλ΅ν κ²½μ° λ³μΉ λ΄μμ 곡백μ μ¬μ©ν μ μλ€.
--곡백μ λ±μ₯μ ν΄λΉ 컬λΌμ ννμ λν μ’
κ²°μ μλ―Ένλ―λ‘
--λ³μΉμ μ΄λ¦ λ΄λΆμ 곡백μ μ¬μ©ν΄μΌ ν κ²½μ°
--γ""γ λ₯Ό μ¬μ©νμ¬ λ³μΉμ λΆμ¬ν μ μλλ‘ νλ€.
/* EMPNO AS "μ¬μλ²νΈ" : SQLμμλ λ¬Έμμ΄μ '(μμλ°μ΄ν)μ΄μ§λ§, AS(λ³μΉ)μ μ§μλλ "(ν°λ°μ΄ν)
'μΌμ μλ¬λ°μ(ORA-00923: FROM keyword not found where expected)
ENAME "μ¬μλͺ
" : AS μλ΅ κ°λ₯
JOB μ§μ’
λͺ
: " μλ΅ κ°λ₯
SAL "κΈ μ¬" : λ³μΉμμ κ³΅λ°±μ΄ μμ μ " μλ΅λΆκ°*/
--β EMP ν
μ΄λΈμμ λΆμλ²νΈκ° 20λ²κ³Ό 30λ² μ§μλ€μ λ°μ΄ν°λ€ μ€
--μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
λͺ
, κΈμ¬, λΆμλ²νΈ νλͺ©μ μ‘°ννλ€.
--λ¨, λ³μΉ(ALIAS)μ μ¬μ©νλ€.
/*
EMP ν
μ΄λΈμμ -> FROM EMP
λΆμλ²νΈκ° 20λ²κ³Ό 30λ² -> 쑰건
μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
λͺ
, κΈμ¬, λΆμλ²νΈ -> SELECT 컬λΌλͺ
*/
SELECT μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
λͺ
, κΈμ¬, λΆμλ²νΈ
FROM EMP
WHERE λΆμλ²νΈκ° 20λ²κ³Ό 30λ²;
SELECT EMPNO "μ¬μλ²νΈ", ENAME "μ¬μλͺ
", JOB "μ§μ’
λͺ
", SAL "κΈμ¬", DEPTNO "λΆμλ²νΈ"
FROM EMP
WHERE DEPTNOκ° 20 DEPTNOκ° 30;
SELECT EMPNO "μ¬μλ²νΈ", ENAME "μ¬μλͺ
", JOB "μ§μ’
λͺ
", SAL "κΈμ¬", DEPTNO "λΆμλ²νΈ"
FROM EMP
WHERE DEPTNO=20 || DEPTNO=30;
--==>> μλ¬λ°μ
SELECT EMPNO μ¬μλ²νΈ, ENAME μ¬μλͺ
, JOB μ§μ’
λͺ
, SAL κΈμ¬, DEPTNO λΆμλ²νΈ
FROM EMP
WHERE DEPTNO = 20 OR DEPTNO = 30;
--==>>
/*
7369 SMITH CLERK 800 20
7499 ALLEN SALESMAN 1600 30
7521 WARD SALESMAN 1250 30
7566 JONES MANAGER 2975 20
7654 MARTIN SALESMAN 1250 30
7698 BLAKE MANAGER 2850 30
7788 SCOTT ANALYST 3000 20
7844 TURNER SALESMAN 1500 30
7876 ADAMS CLERK 1100 20
7900 JAMES CLERK 950 30
7902 FORD ANALYST 3000 20
*/
--β» μμ ꡬ문μ IN μ°μ°μλ₯Ό νμ©νμ¬
-- λ€μκ³Ό κ°μ΄ μ²λ¦¬ν μ μμΌλ©°
-- μ ꡬ문μ μ²λ¦¬κ²°κ³Όμ κ°μ κ²°κ³Όλ₯Ό λ°ννλ€.
SELECT EMPNO "μ¬μλ²νΈ", ENAME "μ¬μλͺ
", JOB "μ§μ’
λͺ
", SAL "κΈμ¬", DEPTNO "λΆμλ²νΈ"
FROM EMP
WHERE DEPTNO IN (20,30);
--==>>
/*
7369 SMITH CLERK 800 20
7499 ALLEN SALESMAN 1600 30
7521 WARD SALESMAN 1250 30
7566 JONES MANAGER 2975 20
7654 MARTIN SALESMAN 1250 30
7698 BLAKE MANAGER 2850 30
7788 SCOTT ANALYST 3000 20
7844 TURNER SALESMAN 1500 30
7876 ADAMS CLERK 1100 20
7900 JAMES CLERK 950 30
7902 FORD ANALYST 3000 20
*/
/* 2-λ¬Έμ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β EMP ν
μ΄λΈμμ μ§μ’
μ΄ CLERK μΈ μ¬μλ€μ λ°μ΄ν°λ₯Ό λͺ¨λ μ‘°ννλ€.
SELECT *
FROM EMP
WHERE JOB = 'CLERK';
--==>>
/*
7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
7876 ADAMS CLERK 7788 1987-07-13 00:00:00 1100 20
7900 JAMES CLERK 7698 1981-12-03 00:00:00 950 30
7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300 10
*/
/* 2-ν¨κ» νΌ λ΄μ© ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
SELECT *
FROM EMP
WHERE JOB IN ('CLERK');
--==>>
/*
7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
7876 ADAMS CLERK 7788 1987-07-13 00:00:00 1100 20
7900 JAMES CLERK 7698 1981-12-03 00:00:00 950 30
7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300 10
*/
SELECT *
FROM EMP
WHERE JOB IN ('clerk');
--==>> μ‘°ν κ²°κ³Ό μμ
--β» μ€λΌν΄μμ... μ
λ ₯λ λ°μ΄ν°μ κ° λ§νΌμ...
-- λ°.λ.μ λμλ¬Έμ ꡬλΆμ νλ€.
--β EMP ν
μ΄λΈμμ μ§μ’
μ΄ CLERK μΈ μ¬μλ€ μ€
-- 20λ² λΆμμ 근무νλ μ¬μλ€μ
-- μ¬μλ²νΈ, μ¬μλͺ
, μ§μ’
λͺ
, κΈμ¬, λΆμλ²νΈ νλͺ©μ μ‘°ννλ€.
-- ALIAS μ¬μ©~!!!
SELECT EMPNO "μ¬μλ²νΈ", ENAME "μ¬μλͺ
", JOB "μ§μ’
λͺ
", SAL "κΈμ¬", DEPTNO "λΆμλ²νΈ"
FROM EMP
WHERE JOB = 'CLERK' AND DEPTNO = 20;
--==>>
/*
7369 SMITH CLERK 800 20
7876 ADAMS CLERK 1100 20
*/
/* 3-λ¬Έμ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β EMP ν
μ΄λΈμ ꡬ쑰μ λ°μ΄ν°λ₯Ό νμΈν΄μ
-- μ΄μ λκ°μ λ°μ΄ν°κ° λ€μ΄μλ ν
μ΄λΈμ ꡬ쑰λ₯Ό μμ±νλ€.
-- (νλ³λ‘... EMP1, EMP2, EMP3, EMP4)
--**μΆκ° μ½λ©νΈ) ν ν
μ΄λΈμ λν΄ μ¬λ¬ μ²λ¦¬λ₯Ό νκ² λλ©΄ lock κ±Έλ¦Ό
CREATE TABLE EMP4
( EMPNO NUMBER(4)
, ENAME VARCHAR2(10)
, JOB VARCHAR2(9)
, MGR NUMBER(4)
, HIREDATE DATE
, SAL NUMBER(7,2)
, COMM NUMBER(7,2)
, DEPTNO NUMBER(2)
);
--==>> Table EMP4μ΄(κ°) μμ±λμμ΅λλ€.
INSERT INTO EMP4 VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP4 VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP4 VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
--==>> 1 ν μ΄(κ°) μ½μ
λμμ΅λλ€.
SELECT *
FROM EMP4;
DROP TABLE EMP4;
INSERT INTO EMP4 VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP4 VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP4 VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP4 VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP4 VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP4 VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP4 VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP4 VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-7-1987','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP4 VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP4 VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP4 VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-7-1987','dd-mm-yyyy'),1100,NULL,20);
INSERT INTO EMP4 VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP4 VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP4 VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
COMMIT;
/* 3-ν¨κ» νΌ λ΄μ© ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--1. 볡μ¬ν λμ ν
μ΄λΈ ꡬ쑰 νμΈ
DESCRIBE EMP;
DESC EMP;
/*
μ΄λ¦ λ? μ ν
-------- -------- ------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
*/
-- 2. λμ ν
μ΄λΈμ ꡬ쑰μ λ°λΌ μλ‘μ΄ ν
μ΄λΈ μμ±
CREATE TABLE EMP5
( EMPNO NUMBER(4)
, ENAME VARCHAR2(10)
, JOB VARCHAR2(9)
, MGR NUMBER(4)
, HIGEDATE DATE
, SAL NUMBER(7,2)
, COMM NUMBER(7,2)
, DEPTNO NUMBER(2)
);
--3. λμ ν
μ΄λΈμ λ°μ΄ν° μ‘°ν
SELECT *
FROM EMP;
--==>>
/*
7369 SMITH CLERK 7902 1980-12-17 800 20
7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30
7521 WARD SALESMAN 7698 1981-02-22 1250 500 30
7566 JONES MANAGER 7839 1981-04-02 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30
7698 BLAKE MANAGER 7839 1981-05-01 2850 30
7782 CLARK MANAGER 7839 1981-06-09 2450 10
7788 SCOTT ANALYST 7566 1987-07-13 3000 20
7839 KING PRESIDENT 1981-11-17 5000 10
7844 TURNER SALESMAN 7698 1981-09-08 1500 0 30
7876 ADAMS CLERK 7788 1987-07-13 1100 20
7900 JAMES CLERK 7698 1981-12-03 950 30
7902 FORD ANALYST 7566 1981-12-03 3000 20
7934 MILLER CLERK 7782 1982-01-23 1300 10
*/
--4. λμ ν
μ΄λΈμ λ°μ΄ν°λ₯Ό 볡μ¬ν λ°μ΄λΈμ μ
λ ₯
INSERT INTO EMP5 VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP5 VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP5 VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP5 VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP5 VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP5 VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP5 VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP5 VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-7-1987','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP5 VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP5 VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP5 VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-7-1987','dd-mm-yyyy'),1100,NULL,20);
INSERT INTO EMP5 VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP5 VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP5 VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
--5. νμΈ
SELECT *
FROM EMP5;
--6. 컀λ°
COMMIT;
--==>> μ»€λ° μλ£.
--β» λ μ§ κ΄λ ¨ μΈμ
μ€μ λ³κ²½
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
--β λμ ν
μ΄λΈμ λ΄μ©μ λ°λΌ ν
μ΄λΈ μμ±(TBL_EMP)
CREATE TABLE TBL_EMP
AS
SELECT *
FROM EMP;
--==>> Table TBL_EMPμ΄(κ°) μμ±λμμ΅λλ€.
--β 볡μ¬ν ν
μ΄λΈ λ°μ΄ν° μ‘°ν
SELECT *
FROM TBL_EMP;
/* 4-λ¬Έμ & ν¨κ» νΌ λ΄μ© ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β DEPT ν
μ΄λΈμ 볡μ¬νμ¬ μμ κ°μ TBL_DEPT ν
μ΄λΈμ μμ±νλ€.
CREATE TABLE TBL_DEPT
AS
SELECT *
FROM DEPT;
--==>> Table TBL_DEPTμ΄(κ°) μμ±λμμ΅λλ€.
--β 볡μ¬ν ν
μ΄λΈ νμΈ
SELECT *
FROM TBL_DEPT;
/*
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
*/
--β ν
μ΄λΈμ 컀λ©νΈ μ 보 νμΈ
SELECT *
FROM USER_TAB_COMMENTS;
/*
DEPT TABLE
EMP TABLE
BONUS TABLE
TBL_EMP TABLE
TBL_EXAMPLE1 TABLE
TBL_EXAMPLE2 TABLE
SALGRADE TABLE
EMP4 TABLE
TBL_DEPT TABLE
EMP5 TABLE
*/
--β ν
μ΄λΈ λ 벨μ 컀λ©νΈ μ 보 μ
λ ₯
COMMENT ON TABLE TBL_EMP IS 'μ¬μ μ 보';
--==>> Commentμ΄(κ°) μμ±λμμ΅λλ€.
--β 컀λ©νΈ μ 보 μ
λ ₯ ν λ€μ νμΈ
SELECT *
FROM USER_TAB_COMMENTS;
--** 컀λ©νΈλ₯Ό μλ¬μλ ν¬κ² μκ³Όμμ§λ§, κ°μ΄ μΌνκΈ° μ’μμ¬λμ΄ λ μ μκ³ λ΄κ° κ΄λ¦¬νκΈ°μλ μ’λ€.
--==>>
/*
EMP5 TABLE
TBL_DEPT TABLE
EMP4 TABLE
SALGRADE TABLE
TBL_EXAMPLE2 TABLE
TBL_EXAMPLE1 TABLE
TBL_EMP TABLE μ¬μ μ 보
BONUS TABLE
EMP TABLE
DEPT TABLE
*/
--β TBL_DEPT ν
μ΄λΈμ λμμΌλ‘ ν
μ΄λΈ λ 벨μ 컀λ©νΈ λ°μ΄ν° μ
λ ₯
-- -> λΆμ μ 보
COMMENT ON TABLE TBL_DEPT IS 'λΆμ μ 보';
--β 컀λ©νΈ λ°μ΄ν° μ
λ ₯ ν νμΈ
SELECT *
FROM USER_TAB_COMMENTS;
/*
EMP5 TABLE
TBL_DEPT TABLE λΆμ μ 보
EMP4 TABLE
SALGRADE TABLE
TBL_EXAMPLE2 TABLE
TBL_EXAMPLE1 TABLE
TBL_EMP TABLE μ¬μ μ 보
BONUS TABLE
EMP TABLE
DEPT TABLE
*/
--β ν΄μ§ν΅ λΉμ°κΈ°
PURGE RECYCLEBIN;
--β 컬λΌ(COLUMN) λ 벨μ 컀λ©νΈ λ°μ΄ν° μ
λ ₯
SELECT *
FROM USER_COL_COMMENTS;
/*
TBL_EMP HIREDATE
EMP4 EMPNO
SALGRADE HISAL
DEPT LOC
BONUS COMM
TBL_EMP ENAME
BIN$IhHBS6pBRP627poXcYfBUA==$0 DEPTNO
EMP4 COMM
EMP5 ENAME
EMP5 JOB
EMP DEPTNO
TBL_DEPT LOC
TBL_DEPT DNAME
EMP EMPNO
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 MGR
DEPT DEPTNO
DEPT DNAME
TBL_EMP DEPTNO
TBL_EMP EMPNO
TBL_EMP JOB
TBL_EXAMPLE2 NO
TBL_EMP MGR
BONUS JOB
TBL_EXAMPLE1 NO
EMP5 DEPTNO
EMP4 DEPTNO
EMP5 MGR
EMP ENAME
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 ENAME
BIN$IhHBS6pBRP627poXcYfBUA==$0 HIREDATE
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 EMPNO
EMP5 COMM
EMP JOB
TBL_EXAMPLE2 NAME
BONUS SAL
EMP SAL
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 HIREDATE
TBL_EMP SAL
EMP4 ENAME
SALGRADE GRADE
EMP5 SAL
EMP5 EMPNO
TBL_DEPT DEPTNO
SALGRADE LOSAL
BIN$IhHBS6pBRP627poXcYfBUA==$0 COMM
TBL_EXAMPLE1 NAME
EMP4 SAL
TBL_EMP COMM
EMP4 HIREDATE
BIN$IhHBS6pBRP627poXcYfBUA==$0 JOB
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 JOB
EMP COMM
EMP4 JOB
BIN$IhHBS6pBRP627poXcYfBUA==$0 EMPNO
TBL_EXAMPLE1 ADDR
EMP4 MGR
TBL_EXAMPLE2 ADDR
EMP HIREDATE
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 SAL
EMP MGR
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 COMM
BIN$IhHBS6pBRP627poXcYfBUA==$0 ENAME
BIN$IhHBS6pBRP627poXcYfBUA==$0 MGR
BIN$LrMQjHLGTNOvSHA+mwIy/Q==$0 DEPTNO
EMP5 HIGEDATE
BONUS ENAME
BIN$IhHBS6pBRP627poXcYfBUA==$0 SAL
*/
SELECT *
FROM TAB;
DROP TABLE TBL_EXAMPLE1;
--==>> Table TBL_EXAMPLE1μ΄(κ°) μμ λμμ΅λλ€.
SELECT *
FROM TAB;
/*
BIN$tv4dttSlRmKaJ8c/NyW9qg==$0 TABLE
BONUS TABLE
DEPT TABLE
EMP TABLE
EMP4 TABLE
EMP5 TABLE
SALGRADE TABLE
TBL_DEPT TABLE
TBL_EMP TABLE
TBL_EXAMPLE2 TABLE
*/
-- ν΄μ§ν΅ λΉμ°κΈ°
PURGE RECYCLEBIN;
--==>> RECYCLEBINμ΄(κ°) λΉμμ‘μ΅λλ€.
SELECT *
FROM TAB;
--β 컬λΌ(COLUMN) λ 벨μ 컀λ©νΈ λ°μ΄ν° νμΈ(TBL_DEPT ν
μ΄λΈμ μμλ 컬λΌλ€λ§ μ‘°ν)
SELECT *
FROM USER_COL_COMMENTS
WHERE TABLE_NAME = 'TBl_DEPT'; -- 쑰건μΆκ°
--==>>
/*
TBL_DEPT DEPTNO
TBL_DEPT DNAME
TBL_DEPT LOC
*/
--COMMENT μμ±νμ1) COMMENT ON TABLE ν
μ΄λΈλͺ
IS '컀λ©νΈ';
--β ν
μ΄λΈμ μμλ 컬λΌμ λν 컀λ©νΈ λ°μ΄ν° μ
λ ₯
COMMENT ON COLUMN TBl_DEPT.DEPTNO IS 'λΆμ λ²νΈ';
--==>> Commentμ΄(κ°) μμ±λμμ΅λλ€.
COMMENT ON COLUMN TBl_DEPT.DNAME IS 'λΆμ μ΄λ¦';
--==>> Commentμ΄(κ°) μμ±λμμ΅λλ€.
COMMENT ON COLUMN TBL_DEPT.LOC IS 'λΆμ μμΉ';
--==>> Commentμ΄(κ°) μμ±λμμ΅λλ€.
--β νμΈ
SELECT *
FROM USER_COL_COMMENTS
WHERE TABLE_NAME='TBL_DEPT';
/*
TBL_DEPT DEPTNO λΆμ λ²νΈ
TBL_DEPT DNAME λΆμ μ΄λ¦
TBL_DEPT LOC λΆμ μμΉ
*/
/* 5-λ¬Έμ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β TBL_EMP ν
μ΄λΈμ λμμΌλ‘
-- ν
μ΄λΈμ μμλ(ν¬ν¨λ) 컬λΌμ λν컀λ©νΈ λ°μ΄ν° μ
λ ₯(μ€μ )
DESC TBL_EMP;
--μ¬μ λ²νΈ, μ¬μ μ΄λ¦, μ§μ’
μ΄λ¦, κ΄λ¦¬μ μ¬μλ²νΈ, μ
μ¬μΌ, κΈμ¬, μλΉ, λΆμ λ²νΈ
COMMENT ON COLUMN TBL_EMP.EMPNO IS 'μ¬μ λ²νΈ';
COMMENT ON COLUMN TBL_EMP.ENAME IS 'μ¬μ μ΄λ¦';
COMMENT ON COLUMN TBL_EMP.JOB IS 'μ§μ’
μ΄λ¦';
COMMENT ON COLUMN TBL_EMP.MGR IS 'κ΄λ¦¬μ μ¬μλ²νΈ';
COMMENT ON COLUMN TBL_EMP.HIREDATE IS 'μ
μ¬μΌ';
COMMENT ON COLUMN TBL_EMP.SAL IS 'κΈμ¬';
COMMENT ON COLUMN TBL_EMP.COMM IS 'μλΉ';
COMMENT ON COLUMN TBL_EMP.DEPTNO IS 'λΆμλ²νΈ';
SELECT *
FROM USER_COL_COMMENTS
WHERE TABLE_NAME='TBL_EMP';
/*
TBL_EMP EMPNO μ¬μ λ²νΈ
TBL_EMP ENAME μ¬μ μ΄λ¦
TBL_EMP JOB μ§μ’
μ΄λ¦
TBL_EMP MGR κ΄λ¦¬μ μ¬μλ²νΈ
TBL_EMP HIREDATE μ
μ¬μΌ
TBL_EMP SAL κΈμ¬
TBL_EMP COMM μλΉ
TBL_EMP DEPTNO λΆμλ²νΈ
*/
--β β β μ»¬λΌ κ΅¬μ‘°μ μΆκ° λ° μ κ±° β β β --
SELECT *
FROM TBL_EMP;
--β TBL_EMP ν
μ΄λΈμ μ£Όλ―Όλ±λ‘λ²νΈ λ°μ΄ν°λ₯Ό λ΄μ μ μλ μ»¬λΌ μΆκ°
--** ν
μ΄λΈμ κ΅¬μ‘°κ° λ°λκΈ° λλ¬Έμ ALTER
ALTER TABLE TBL_EMP
ADD SSN CHAR(13);
--==>> Table TBL_EMPμ΄(κ°) λ³κ²½λμμ΅λλ€.
SELECT '01012341234'
FROM DUAL;
--==>> 01012341234
--** λ¬Έμνμ
SELECT 01012341234
FROM DUAL;
--==>> 1012341234
--** μ«μνμ
--β TBL_EMP ν
μ΄λΈμ ꡬ쑰 νμΈ
DESC TBL_EMP;
/*
μ΄λ¦ λ? μ ν
-------- -- ------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SSN CHAR(13)
*/
--> SSN(μ£Όλ―Όλ±λ‘λ²νΈ) 컬λΌμ΄ μ μμ μΌλ‘ ν¬ν¨(μΆκ°)λ μ¬νμ νμΈ
--β» ν
μ΄λΈ λ΄μμ 컬λΌμ μμλ ꡬ쑰μ μΌλ‘ μλ―Έ μμ.
--** μΌλ§λ μ§ SELECTλ‘ μνλ λͺ¨μμΌλ‘ λ§λ€ μ μκΈ° λλ¬Έμ
SELECT *
FROM TBL_EMP;
SELECT EMPNO, ENAME, SSN
FROM TBL_EMP;
--β TBL_EMP ν
μ΄λΈμ μΆκ°ν SSN(μ£Όλ―Όλ²νΈ) μ»¬λΌ μ κ±°
--** 컬λΌμ΄ μμ λλ κ²μ λ§μΌλ, ν
μ΄λΈμ μ
μ₯μμλ λ³κ²½λλ κ²
ALTER TABLE TBL_EMP
DROP COLUMN SSN;
--==>> Table TBL_EMPμ΄(κ°) λ³κ²½λμμ΅λλ€.
-- νμΈ
DESC TBL_EMP;
SELECT *
FROM TBL_EMP;
--> SSN(μ£Όλ―Όλ±λ‘λ²νΈ) 컬λΌμ΄ μ μμ μΌλ‘ μμ (μ κ±°)λμμμ νμΈ.
--** ꡬ쑰μ μΌλ‘ μμ± CREATE
--** λ³κ²½ ALTER
--** μμ DROP
--
--** λ°μ΄ν° μμ± INSERT
--** λ³κ²½
--** μμ DELETE
DELETE TBL_EMP;
--==>> 14κ° ν μ΄(κ°) μμ λμμ΅λλ€.
SELECT *
FROM TBL_EMP;
--> ν
μ΄λΈμ ꡬ쑰(λΌλ, ν)λ κ·Έλλ‘ λ¨μμλ μνμμ
-- λ°μ΄ν°λ§ λͺ¨λ μμ€(μμ )λ μν©μμ νμΈ
DROP TABLE TBL_EMP;
--==>> Table TBL_EMPμ΄(κ°) μμ λμμ΅λλ€.
SELECT *
FROM TBL_EMP;
--==>> μλ¬λ°μ
-- (ORA-00942: table or view does not exist)
--> ν
μ΄λΈ μμ²΄κ° μ κ±°λ μν©
--β ν
μ΄λΈ λ€μ 볡μ¬(μμ±)
CREATE TABLE TBL_EMP
AS
SELECT *
FROM EMP;
--==>> Table TBL_EMPμ΄(κ°) μμ±λμμ΅λλ€.
--β NULL μ μ²λ¦¬
SELECT 10, 10+2, 10-2, 10*2, 10/2
FROM DUAL;
--==>> 10 12 8 20 5
--SELECT NULL, NULL+2, NULL-2, NULL*2, NULL/2
--FROM DUAL;
--==>> (NULL) (NULL) (NULL-2), (NULL/2)
--** μ€μ λ‘ κ°μ΄ 보μ΄μ§ μμ
--β» κ΄μ°° κ²°κ³Ό
-- NULLμ μνμ κ°μ μλ―Ένλ©°... μ€μ μ‘΄μ¬νμ§ μλ κ°μ΄κΈ° λλ¬Έμ
-- μ΄ NULL μ΄ μ°μ°μ ν¬ν¨λ κ²½μ°...
-- κ·Έ κ²°κ³Όλ 무쑰건 NULL
--** μλ°ν λ§νλ©΄, NULLμ μνμ κ°
/* 6-λ¬Έμ & κ°μ΄ νΌ λ΄μ© ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β TBL_EMP ν
μ΄λΈμμ 컀미μ
(COMM, μλΉ)μ΄ NULL μΈ μ§μμ
-- μ¬μλͺ
, μ§μ’
λͺ
, κΈμ¬, 컀미μ
νλͺ©μ μ‘°ννλ€.
SELECT ENAME, JOB, SAL, COMM
FROM TBL_EMP
WHERE COMM = NULL;
--==>> μ‘°ν κ²°κ³Ό μμ
SELECT ENAME, JOB, SAL, COMM
FROM TBL_EMP
WHERE COMM = 'NULL';
--==>> μλ¬
-- (ORA-01722: invalid number) --** μ«μννμ
λ§ μ¬ μ μλλ° λ¬Έμκ° μμ
SELECT ENAME, JOB, SAL, COMM
FROM TBL_EMP
WHERE COMM = (NULL);
--==>> μ‘°ν κ²°κ³Ό μμ
--β» NULLμ μ€μ μ‘΄μ¬νλ κ°μ΄ μλκΈ° λλ¬Έμ
-- μΌλ°μ μΈ μ°μ°μλ₯Ό νμ©νμ¬ λΉκ΅ν μ μλ€.
-- NULL μ λμμΌλ‘ μ¬μ©ν μ μλ μ°μ°μλ€...
-- >=, <=, =, >, <,
-- κ°μ§ μλ€(3κ°μ§): !=, <>, ^=
SELECT ENAME, JOB, SAL, COMM
FROM TBL_EMP
WHERE COMM IS NULL;
--==>>
/*
--** (NULL)μ μ¬μ€ λμ€μ§ μμ. μκ°μ μΌλ‘ ννν΄μ€ κ²
SMITH CLERK 800 (NULL)
JONES MANAGER 2975 (NULL)
BLAKE MANAGER 2850 (NULL)
CLARK MANAGER 2450 (NULL)
SCOTT ANALYST 3000 (NULL)
KING PRESIDENT 5000 (NULL)
ADAMS CLERK 1100 (NULL)
JAMES CLERK 950 (NULL)
FORD ANALYST 3000 (NULL)
MILLER CLERK 1300 (NULL)
*/
/* 7-λ¬Έμ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
--β TBL_EMP ν
μ΄λΈμμ 20λ² λΆμμ 근무νμ§ μλ μ§μλ€μ
-- μ¬μλͺ
, μ§μ’
λͺ
, λΆμλ²νΈ νλͺ©μ μ‘°ννλ€.
DESC TBL_EMP;
SELECT EMPNO, JOB, DEPTNO
FROM TBL_EMP
WHERE DEPTNO != 20;
SELECT EMPNO, JOB, DEPTNO
FROM TBL_EMP
WHERE DEPTNO <> 20;
SELECT EMPNO, JOB, DEPTNO
FROM TBL_EMP
WHERE DEPTNO ^= 20;
--==>>
/*
7499 SALESMAN 30
7521 SALESMAN 30
7654 SALESMAN 30
7698 MANAGER 30
7782 MANAGER 10
7839 PRESIDENT 10
7844 SALESMAN 30
7900 CLERK 30
7934 CLERK 10
*/






