1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati

Size: px
Start display at page:

Download "1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati"

Transcription

1 Oracle SQL 1

2 1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulation Language) : 데이터의검색과수정등의처리 SQL 문 INSERT DELETE UPDATE SELECT 내용데이터베이스객체에데이터를입력데이터베이스객체에데이터를삭제기존에존재하는데이터베이스객체안의데이터수정데이터베이스객체로부터데이터를검색 DCL (Data Control Language) : 데이터베이스사용자의권한을제어 GRANT REVOKE SQL 문 내용 데이터베이스객체에권한을부여 이미부여된데이터베이스객체의권한을취소

3 2. 테이블의생성과수정그리고삭제 - 테이블의생성 3 테이블이란? 1. 테이블은오라클데이타베이스의기본적인데이타저장단위 2. 데이타베이스테이블은사용자가접근가능한모든데이타를보유하며레코드와컬럼으로구성 3. 테이블은시스템내에서독립적으로사용되길원하는엔티티를표현예를들면, 회사에서의고용자나제품에대한주문은테이블로표현가능 4. 테이블은두엔티티간의관계를표현즉테이블은고용자와그들의작업숙련도혹은제품과주문과의관계를표현하는데사용테이블내에있는외래키 (ForeIgn Key) 는두엔티티사이의관계를표현하는데사용 5. 비록 " 테이블 " 이라는말이더많이사용되지만테이블의형식어는 " 릴레이션 " 컬럼 : 테이블의각컬럼은엔티티의한속성을표현행 (ROW, 레코드 ) : 테이블의데이타는행에저장 테이블생성시제한사항과고려할점 - 테이블이름과컬럼은항상알파벳문자로시작해야하며 A~Z 까지의문자, 0~9 까지의숫자, 그리고 $,#,_(Under Bar) 를사용가능 ( 공백사용불가능 ) - 테이블의컬럼이름은 30 자를초과할수없고, 예약어를사용할수없음. - 오라클테이블한계정안에서테이블이름은다른테이블이름과달리유사해야함. - 한테이블안에서컬럼이름은같을수없으며다른테이블에서의컬럼이름과는같을수있음.

4 2. 테이블의생성과수정그리고삭제 - 테이블의생성 4 테이블생성문법 CREATE TABLE [schema.]table_name ( column datatype [, column datatype...] ) [TABLESPACE tablespace ] [ PCTFREE integer ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ STORAGE storage-clause ] [ LOGGING NOLOGGING ] [ CACHE NOCACHE ] ; - schema : 테이블의소유자 - table_name: 테이블이름 - column: 컬럼의이름 - datatype: 컬럼의데이터유형 - TABLESPACE: 테이블이데이터를저장할테이블스페이스를지정 - PCTFREE : 블럭내에이미존재하고있는 Row에 Update가가능하도록예약시켜놓는블럭의퍼센트값을지정 - PCTUSED : 테이블데이터가저장될블록의행데이터부분의크기를퍼센트지로지정 PCTFREE에의해지정된크기만큼 Block이차면 PCTUSED 값보다작아져야새로운행삽입이가능 - INITRANS : 하나의데이터블록에지정될초기트랜잭션의값을지정 ( 기본값은 1) - MAXTRANS: 하나의데이터블록에지정될수있는트랜잭션최대수를지정 ( 기본값은 255) - STORAGE: 익스텐트스토리지에대한값을지정합니다. - LOGGING: 테이블에대해이후의모든작업이리두로그파일내에기록되도록지정 (default) - NOLOGGING: 리두로그파일에테이블의생성과특정유형의데이터로드를기록하지않도록지정 - CACHE : 전체테이블스캔 (full table scan) 이수행될때읽어들인블록이버퍼캐쉬내의 LRU 리스트의가장최근에사용된것의자리에위치하도록지정 - NOCACHE : 전체테이블스캔 (full table scan) 이수행될때읽어들인블록이버퍼캐쉬내의 LRU 리스트의가장최근에사용되지않은것의자리에위치하도록지정 * PCTFREE, PCTUSED 에대한자세한강좌는오라클어드민강좌를참고

5 2. 테이블의생성과수정그리고삭제 - 테이블의생성 5 테이블생성예제 DEPT2 테이블생성예제 SQL>CREATE TABLE DEPT2( DEPTNO NUMBER CONSTRAINT dept_pk_deptno PRIMARY KEY, - ( 컬럼 ) ( 데이터타입 ) ( 제약조건 ) DNAME VARCHAR2(40), LOC VARCHAR2(50)) PCTFREE 20 PCTUSED 50 ; 테이블이생성 테이블생성시주의사항 - 테이블이름을지정하고각컬럼들은괄호 "()" 로묶어지정 - 컬럼뒤에데이터타입은꼭지정되어야함. - 각컬럼들은콤마 "," 로구분되고, 항상끝은세미콜론 ";" 으로끝남. - 한테이블안에서컬럼이름은같을수없으며다른테이블에서의컬럼이름과는같을수있음. 유저가소유한모든테이블조회 USER_TABLES 데이터사전을조회하면유저가소유한테이블을확인할수있음. SQL>SELECT table_name FROM USER_TABLES; TABLE_NAME BONUS CRETABLE

6 2. 테이블의생성과수정그리고삭제 - 테이블의제약조건 6 제약조건이란? 제약조건이란테이블에부적절한자료가입력되는것을방지하기위해서여러가지규칙을적용해놓는것. 간단하게테이블안에서데이터의성격을정의하는것 - 데이터의무결성유지를위하여사용자가지정할수있는성질 - 모든 CONSTRAINT 는데이터사전 (DICTIONARY) 에저장 - 의미있는이름을부여했다면 CONSTRAINT 를쉽게참조할수있음. - 표준객체명명법을따르는것이좋다. - 제약조건은테이블을생성할당시에지정할수도있고, 테이블생성후구조변경 (ALTER) 명령어를통해서도추가가가능 - NOT NULL 제약조건은반드시컬럼레벨에서만정의가가능 제약조건 PRIMARY KEY(PK) FOREIGN KEY(FK) UNIQUE key(uk) NOT NULL(NN) CHECK(CK) 설 유일하게테이블의각행을식별 (NOT NULL 과 UNIQUE 조건을만족 ) 열과참조된열사이의외래키관계를적용하고설정합니다. 테이블의모든행을유일하게하는값을가진열 (NULL 을허용 ) 명 열은 NULL 값을포함할수없습니다. 참이어야하는조건을지정함 ( 대부분업무규칙을설정 )

7 2. 테이블의생성과수정그리고삭제 - 테이블의제약조건 7 NOT NULL 조건 : 컬럼을필수필드화시킬때사용 SQL> CREATE TABLE emp( ename VARCHAR2(20) CONSTRAINT emp_nn_ename NOT NULL ); 위와같이테이블을생성하면 ename 컬럼에는꼭데이터를입력해야만함. - 여기서 emp_nn_ename 은 ( 테이블이름 _ 제약조건이름 _ 컬럼이름 ) 형식으로 CONSTRAINT NAME 을정의 - CONSTRAINT NAME 은 USER_CONSTRAINTS 뷰 (VIEW) 를통해서확인 SQL> SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME ='EMP' ; CONSTRAINT_NAME emp_nn_ename à 이런식으로제약조건의이름을확인 UNIQUE 조건 UNIQUE 조건 : 데이터의유일성을보장 ( 중복되는데이터가존재할수없음.) 유니크조건을생성하면자동으로 index 가생성 SQL> ALTER TABLE emp ADD CONSTRAINT emp_uk_deptno UNIQUE (deptno) ; 테이블이변경 - 위와같이제약조건을생성하면 deptno 컬럼에중복된데이터가들어갈수없음. -- 제약조건의삭제 SQL>ALTER TABLE emp DROP CONSTRAINT emp_uk_deptno ; 테이블이변경

8 2. 테이블의생성과수정그리고삭제 - 테이블의제약조건 8 CHECK 조건 : 컬럼의값을어떤특정범위로제한 SQL>ALTER TABLE emp ADD CONSTRAINT emp_ck_comm CHECK (comm >= 10 AND comm <= ) ; 테이블이변경 - comm 컬럼은체크조건에서제한을하고있으므로 10 에서 까지의값만을가질수있음. 또체크조건에서는 IN 연산자를사용 SQL>ALTER TABLE emp DROP CONSTRAINT emp_ck_comm ; 테이블이변경 -- 제약조건의삭제 SQL> ALTER TABLE emp -- IN 연산자를이용해서 CHECK 제약조건을생성 ADD CONSTRAINT emp_ck_comm CHECK (comm IN (10000,20000,30000,40000,50000)) ; 테이블이변경 - comm 컬럼은 10000,20000,30000,40000,50000 의값만을가질수있음. DEFAULT( 컬럼기본값 ) 지정 데이터입력시에입력을하지않아도지정된값이디폴트로입력 SQL>CREATE TABLE emp( hiredate DATE DEFAULT SYSDATE ) ; 위와같이디폴트값을설정하면 hiredate 컬럼에 INSERT 를하지않아도오늘날짜가들어감.

9 2. 테이블의생성과수정그리고삭제 - 테이블의제약조건 9 PRIMARY KEY( 기본키 ) 지정 PRIMARY KEY : Primary Key( 기본키 ) 는 UNIQUE 와 NOT NULL 의결합과같다. - 기본키는그데이터행을대표하는컬럼으로서의역할을수행하여다른테이블에서외래키들이참조할수있는키로서의자격을가지고있으며이를참조무결성이라함. - UNIQUE 조건과마찬가지로기본키를정의하면자동으로인덱스를생성하며그이름은기본키제약조건의이름과같다. SQL>CREATE TABLE emp( empno NUMBER CONSTRAINT emp_pk_empno PRIMARY KEY ) ; 위와같이제약조건을설정하면 empno 컬럼에 UNIQUE 제약조건과 NOT NULL 제약조건을가지게된다. FOREIGN KEY( 외래키 ) 지정 FOREIGN KEY( 외래키 ) 지정 : 기본키를참조하는컬럼또는컬럼들의집합 - 외래키를가지는컬럼의데이터형은외뢰키가참조하는기본키의컬럼과데이터형이일치해야함. 이를어기면참조무결성제약에의해테이블을생성할수없음. - 외래키에의해참조되고있는기본키는삭제할수없음. - ON DELETE CASCADE 연산자와함께정의된외래키의데이터는그기본키가삭제될때같이삭제 SQL>ALTER TABLE emp ADD CONSTRAINT emp_fk_deptno FOREIGN KEY (deptno) REFERENCES dept(deptno) 테이블이변경 위와같이제약조건을생성하면 emp 테이블의 deptno 컬럼은 dept 테이블에 deptno 컬럼을참조하는외래키를가짐.

10 2. 테이블의생성과수정그리고삭제 - 오라클데이터타입 10 오라클테이블을생성할때각컬럼에지정할수있는데이터타입 DATA TYPE 설 명 VARCHAR2(n) 가변길이문자데이터 (1~4000byte) CHAR(n) 고정길이문자데이터 (1~2000byte) NUMBER(p,s) 전체 p자리중소수점이하 s자리 (p:1~38, s:-84~127) DATE 7Byte(BC 4712년 1월 1일부터 AD 9999년 12월 31일 ) LONG 가변길이문자데이터 (1~2Gbyte) CLOB 단일바이트가변길이문자데이터 (1~4Gbyte) RAW(n) n Byte의원시이진데이터 (1~2000) LONG RAW 가변길이원시이진데이터 (1~2Gbyte) BLOB 가변길이이진데이터 (1~4Gbyte) BFILE 가변길이외부파일에저장된이진데이터 (1~4Gbyte) 숫자데이터 (Numeric Data) - 오라클데이터베이스에서숫자는항상가변길이데이터로저장되며유효자릿수 38 자리까지저장.

11 2. 테이블의생성과수정그리고삭제 - 오라클데이터타입 11 문자데이터 (Character Data) - 문자데이터는데이터베이스에고정길이, 또는가변길이문자열로저장 - CHAR 와 NCHAR 같은고정길이문자데이터유형은고정길이까지공백으로채워서저장 - NCHAR 는고정폭 (fixed-width), 또는가변폭 (variable-width) character set 의저장을가능하게하는 NLS 데이터유형최대크기는한문자를저장하는데필요한바이트수에따라결정되며한행당최대 2000 바이트기본값은 charater set 에따라 1 문자, 또는 1 바이트 - 가변길이문자데이터유형은실제컬럼값을저장하는데필요한바이트만큼만을사용하며각행에따라크기가다양. VARCHAR2와 NVARCHAR2 가있습니다. 날짜 (DATE) 데이터유형 - 오라클서버는날짜를 7 바이트, 고정길이필드 (field) 로저장 - 오라클 DATE 는항상시간을포함 RAW 데이터유형 - 크기가적은이진데이터의저장에사용

12 2. 테이블의생성과수정그리고삭제 - 오라클데이터타입 12 크기가큰오브젝트를저장하기위한데이터유형 1 크기가큰오브젝트를저장하기위한데이터유형에는 LONG 과 LONG RAW, LOB 데이터유형이있다. 2 LONG 데이터유형은 2GB 의문자열데이터를저장 3 오라클은 LOB 을저장하기위한여섯가지데이터유형을제공 - 큰고정폭 (fixed-width) 문자데이터를위한 CLOB과 LONG - 큰고정폭국가 character set 데이터를위한 NCLOB - 구조화되지않은데이터를저장하기위한 BLOB과 LONG RAW - 구조화되지않은데이터를운영체제파일에저장하기위한 BFILE LONG 과 LOB 데이터유형비교 LONG, LONG RAW 테이블에컬럼하나만생성할수있음 2GB SELECT결과로데이터를리턴데이터를직접저장오브젝트유형을지원하지않음 LOB 테이블에여러개의컬럼생성이가능 4GB SELECT결과로위치를리턴데이터를직접또는간접저장오브젝트유형지원

13 2. 테이블의생성과수정그리고삭제 - 테이블의관리 13 테이블컬럼의관리 테이블의컬럼은 ADD, MODIFY, DROP 연산자를통해서관리할수있음. ADD 연산자 ADD 연산자 : 테이블에새로운컬럼을추가할때사용 SQL>ALTER TABLE emp ADD (addr VARCHAR2(50)); VARCHAR2 의데이터형을가지는 addr 컬럼이 emp 테이블에추가 MODIFY 연산자 MODIFY 연산자 : 테이블의컬럼을수정하거나 NOT NULL 컬럼으로변경할수있음. SQL>ALTER TABLE emp MODIFY (ename VARCHAR2(50) NOT NULL) ; -> ename 컬럼이 VARCHAR2 50 자리로수정 컬럼이이미테이터를가지고있을경우다른데이터형으로변경불가능 DROP 연산자 컬럼의삭제예제 SQL>ALTER TABLE table_name DROP COLUMN column_name -- 컬럼의삭제는오라클 8i 버전부터지원 제약조건의삭제예제 -- CASCADE 연산자와함께사용하면외래키에의해참조되는기본키도삭제될수있음 SQL>ALTER TABLE emp DROP CONSTRAINT emp_pk_empno CASCADE;

14 2. 테이블의생성과수정그리고삭제 - 테이블의관리 14 테이블정보의관리 기존테이블의복사 - 기존테이블을부분, 또는완전히복사할때에서브쿼리를가진 CREATE TABLE 명령어를사용해서쉽게테이블을복사가능 - 하지만제약조건, 트리거, 그리고테이블권한은새로운테이블로복사되지않는다. - 제약조건은 NOT NULL 제약조건만복사 [ 문법 ] [ 예제 ] CREATE TABLE [schema.]table_name SQL>CREATE TABLE emp2 [ LOGGING NOLOGGING ] AS [... ] SELECT * FROM emp; AS 테이블이생성 subquery 테이블의테이블스페이스변경 Oracle8i 이전버전에서는 export 를해서다시 import 를해야지만테이블스페이스를변경할수있었지만오라클 8i 부터는 ALTER TABLE ~ MOVE TABLESPACE 명령어로쉽게테이블의테이블스페이스를변경할수있음. ALTER TABLE table_name MOVE TABLESPACE tablespace_name; SQL>ALTER TABLE emp MOVE TABLESPACE test; 테이블이변경 àemp 테이블의테이블스페이스를 test 로변경

15 2. 테이블의생성과수정그리고삭제 - 테이블의관리 15 테이블정보의변경 - 보통테이블의정보를변경하는이유는스토리지파라미터와블록활용파라미터를변경하기위해서사용 - 테이블정보의변경시 INITIAL 의값은변경할수없음. ALTER TABLE [schema.]table_name [ STORAGE storage-clause ] [ PCTFREE integer ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer ] STORAGE-CLAUSE 에들어올수있는스토리지파라미터 - NEXT 다음번생성될익스텐트의크기를 Byte 단위로지정합니다. 이후, 익스텐트크기는 PCTINCREASE 만큼씩증가 - PCTINCREASE 마지막생성된익스텐트의바로다음에생성될익스텐트의증가율을퍼센트지로지정 - MINEXTENTS 최초생성되는익스텐트의수를지정 - MAXEXTENTS 생성될수있는최대익스텐트의수를지정 기타블록관련파라미터는테이블의생성강좌를참고

16 2. 테이블의생성과수정그리고삭제 - 테이블의관리 16 테이블의 TRUNCATE - 테이블을 Truncate 하면테이블의모든행이삭제되고사용된공간이해제 - TRUNCATE TABLE 은 DDL 명령이므로롤백데이터가생성되지않음. DELETE 명령으로데이터를지우면롤백명렁어로복구할수있지만 TRUNCATE 로데이터를삭제하면롤백을할수가없음. - 행의인덱스도같이잘려나감. - 외래키가참조중인테이블은 TRUNCATE 할수없음. - TRUNCATE 명령을사용하면삭제트리거가실행되지않음. TRUNCATE TABLE [schema.]table_name ; DROP TABLE ( 테이블을삭제할때사용 ) DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] ; SQL>DROP TABLE emp ; SQL>DROP TABLE emp CASCADE CONSTRAINT; CASCADE CONSTRAINT è 외래키에의해참조되는기본키를포함한테이블일경우기본키를참조하던외래키조건도같이삭제

17 3. 데이터조작어 (DML) - 데이터의삽입, 수정, 삭제 17 INSERT INSERT 명령어는테이블안에데이터를삽입하는역할 INSERT INTO table_name(column1, column2, ) VALUES ( 데이터, 데이터, ) ; - 실제데이터는 VALUES 괄호 () 안에입력하고문자열은단일따옴표 (' ') 로둘러싼다. - 각각의테이터는 "," 로구분 - 테이블이름옆에 () 생략시에는모든컬럼을 VALUES() 안에입력 모든데이터를입력할경우 SQL>INSERT INTO EMP VALUES(7369, 'SMITH', 'CLERK', 7902, TO_DATE('80/12/17'), 800, NULL, 20); 원하는데이터만입력할경우 SQL>INSERT INTO DEPT (DEPTNO, DNAME) VALUES(10, 'ACCOUNTING' ); SELECT 문장을이용한 INSERT INSERT INTO table_name(column1, column2, ) SELECT column1, column2, FROM table_name WHERE 조건 ; SQL>INSERT INTO DEPT SELECT * FROM SCOTT.DEPT ;

18 3. 데이터조작어 (DML) - 데이터의삽입, 수정, 삭제 18 UPDATE UPDATE 명령어는테이블안의데이터를수정 UPDATE table_name SET column1 = 값 ( 고칠내용 ), column2 = 값, WHERE 조건 SQL>UPDATE EMP SET DEPTNO = 30 WHERE EMPNO = 7902 ; è 사원번호가 7902 번인사람의부서번호가 30 번으로수정됨 SQL>UPDATE EMP SET SAL = SAL * 1.1 WHERE DEPTNO = 20 ; è 20 부서의사원들의급여가 10% 인상됨 SQL>UPDATE EMP SET HIREDATE = SYSDATE è 모든사원의입사일이오늘로수정됨 DELETE DELETE 명령어는테이블안의데이터를삭제 DELETE FROM table_name WHERE 조건 ; SQL>DELETE FROM EMP WHERE EMPNO = 7902 ; è 사원번호가 7902 번인사람의데이터가삭제 SQL>DELETE FROM EMP WHERE SAL < (SELECT AVG(SAL) FROM EMP) ; è 평균급여보다적게받는사원삭제 SQL>DELETE FROM EMP ; è 테이블의모든행이삭제

19 3. 데이터조작어 (DML) - SELECT 문및연산자 19 SELECT 문 SELECT 문은데이터베이스로부터저장되어있는데이터를검색하는데사용 SELECT [DISTINCT] {*, column [alias],...} FROM table_name [WHERE condition] [ORDER BY {column, expression} [ASC DESC]]; - DISTINCT : 중복되는행을제거하는옵션 - * : 테이블의모든 column을출력 - alias : 해당 column에대해서다른이름을부여할때사용 - table_name : 질의대상테이블명 - WHERE : 조건을만족하는행들만검색 - condition : column, 표현식, 상수및비교연산자 - ORDER BY : 질의결과정렬을위한옵션 (ASC: 오름차순 (Default),DESC내림차순) SQL 문의작성방법 - SQL 문장은대소문자를구별하지않음. - SQL 문장은한줄또는여러줄에입력 - 일반적으로키워드는대문자로입력. 다른모든단어, 즉테이블이름, 열이름은소문자로입력 ( 권장 ) - 가장최근의명령어가 1 개가 SQL buffer 에저장 - SQL 문마지막절의끝에 ";" 를기술하여명령의끝을표시 [ 예제 ] SQL>SELECT empno 사번, ename 성명 FROM emp WHERE deptno = 10

20 3. 데이터조작어 (DML) - SELECT 문및연산자 20 WHERE 절에올수있는연산자들. 연산자설명 BETWEEN a AND b a 와 b 사이의데이터를출력 (a, b 값포함 ) IN (list) list 의값중어느하나와일치하는데이터를출력 LIKE 문자형태로일치하는데이터를출력 (%, _ 사용 ) IS NULL NULL 값을가진데이터를출력 NOT BETWEEN a AND b a 와 b 사이에있지않은데이터를출력 (a, b 값포함하지않음 ) NOT IN (list) NOT LIKE NOT IS NULL IN 과 NOT IN 연산자 IN 연산자 list 의값과일치하지않는데이터를출력 문자형태와일치하지않는데이터를출력 NULL 값을갖지않는데이터를출력 SQL> SELECT empno, ename FROM emp WHERE empno IN (7900, 7934) ; --> 사번이 7900, 7934 번인사원의사번과성명출력 NOT IN 연산자 SQL> SELECT empno, ename FROM emp WHERE empno NOT IN (7900, 7934); --> 사번이 7900, 7934 번이아닌사원의사번과성명출력

21 3. 데이터조작어 (DML) - SELECT 문및연산자 21 BETWEEN 연산자 SQL> SELECT empno, ename FROM emp WHERE sal BETWEEN 3000 AND 5000 ; --> 급여가 3000 에서 5000 사이인사원만보여줌. BETWEEN 연산자 (AND 를이용해두조건을결합한검색과같은결과값을보여줌.) LIKE 연산자 - 검색 STRING 값에대한와일드카드검색을위해서 LIKE연산자를사용 - % : 여러개의문자열을나타내는와일드카드 - _ : 단하나의문자를나타내는와일드카드 - ESCAPE : 와일드카드문자를일반문자처럼사용하고싶은경우에사용 WHERE name LIKE '%a\_y%' ESCAPE '\' ; - LIKE 연산자는대소문자를구분 - Upper() 함수를이용해대소문자구분없이출력 [ 예제 ] SQL>SELECT empno, ename FROM emp WHERE UPPER(ename) like '%K%'; 'K' 문자가들어있는사원정보를보여줌. upper() 라는함수는 k 가들어가있는것도대문자 'K' 로인식하기때문에데이터들을보여줌. '_' 를이용한 LIKE 검색 SQL>SELECT empno, ename FROM emp WHERE UPPER(ename) like '_I%' '_' 는한문자를나타냄. 'I' 문자가두번째문자에위치한사원들의정보를보여줌.

22 3. 데이터조작어 (DML) - 예명 (Alias) 22 테이블예명 (Alias) 테이블예명 (Alias) - 테이블 alias 로 column 을단순, 명확히할수있음. - 현재의 SELECT 문장에대해서만유효 - 테이블 alias 는길이가 30 자까지가능하나짧을수록더욱좋다. - 테이블 alias 는의미가있어야함. - FROM 절에테이블 alias 설정시해당테이블 alias 는 SELECT 문장에서테이블이름대신에사용 SQL> SELECT a.dname, b.cnt FROM dept a, (SELECT deptno, COUNT(empno) cnt FROM emp GROUP BY deptno) b WHERE a.deptno = b.deptno AND b.cnt > 3 DNAME CNT RESEARCH 6 SALES 6 사원수가 3 명이넘는부서의부서명과사원수를보여줌. 위쿼리에선총 3 개의 Alias 가사용첫번째로 DEPT 테이블을 a 라는예명을, 두번째로부서의사원수인 COUNT(empno) 를 cnt 라는예명을세번째로부서별사원수를가져오는쿼리를 b 라는예명을줌. 위예제와같이예명은컬럼에만주는것이아니라. 쿼리문및테이블에도사용할수있음.

23 3. 데이터조작어 (DML) - 조인 (Join) 23 조인 (Join)? 조인 (Join) 이란 - 둘이상의테이블을연결하여데이터를검색하는방법 - 보통둘이상의행들의공통된값 Primary Key 및 Foreign Key 값을사용하여조인 - 그러므로두개의테이블을 SELECT 문장안에서조인하려면적어도하나의컬럼이그두테이블사이에서공유되어야함. 조인방법 - Equijoin( 동등조인, 내부조인 ) - Non-equijoin - Outer join - Self join Cartesian Product( 카티션곱 ) 검색하고자했던데이터뿐아니라조인에사용된테이블들의모든데이터가 Retrun 되는현상 Cartesian product 는다음과같은경우에발생 - 조인조건을정의하지않았을경우 - 조인조건이잘못된경우 - 첫번째테이블의모든행들이두번째테이블의모든행과조인이되는경우 - 테이블의개수가 N 이라면 Cartesian product 를피하기위해서는적어도 N-1 개의등가조건을 SELECT 문안에포함시켜서다른테이블안에있는각테이블의컬럼이적어도한번은참조되도록해야함.

24 3. 데이터조작어 (DML) - 조인 (Join) 24 Equi Join Equi Join - 조건절 Equality Condition(=) 에의하여조인이이루어짐. - Equi join 의성능을높이기위해서는 Index 기능을사용하는것이좋다. SQL>SELECT e.ename, d.dname è WHERE 절에조인조건을작성하고 column 명앞에테이블명을적음. FROM emp e, dept d WHERE e.deptno = d.deptno; Non-Equijoin Non-Equijoin - Non-equijoin 은테이블의어떤 column 도 join 할테이블의 column 에일치하지않을때사용하고조인조건은동등 ( = ) 이외의연산자를갖는다. (BETWEEN AND, IS NULL, IS NOT NULL, IN, NOT IN) SQL>SELECT e.ename, d.dname FROM emp e, dept d WHERE e.sal BETWEEN 3000 AND 4000; Self Join Self Join - Equi Join 과같으나하나의테이블에서조인이일어나는것이다름. - 같은테이블에대해두개의 alias 를작성함으로 FROM 절에두개의테이블을사용 SQL> SELECT concat(a.ename,' ') ' : \' b.sal 급여 FROM emp a, emp b WHERE a.empno = b.empno

25 3. 데이터조작어 (DML) - 조인 (Join) 25 Out( 외부 ) Join Out( 외부 ) Join - equijoin 문장들의한가지제약점은그것들이조인을생성하려하는두개의테이블의두개컬럼에서공통된값이없다면테이블로부터테이터를 Return 하지않는다. - 정상적으로조인조건을만족하지못하는행들을보기위해 outer join 을사용 Outer join 연산자 "( + )" - 조인시킬값이없는조인측에 "(+)" 를위치시킨다. - Outer join 연산자는표현식의한편에만올수있다. - Outer join 은 IN 연산자를사용할수없고 OR 연산자에의해다른하나의조건에연결될수없다. 예제 1) 일반조인의경우 SQL> SELECT DISTINCT(a.deptno), b.deptno FROM emp a, dept b WHERE a.deptno = b.deptno DEPTNO DEPTNO 예제 2) out join 을했을경우 SQL> SELECT DISTINCT(a.deptno), b.deptno FROM emp a, dept b WHERE a.deptno(+) = b.deptno DEPTNO DEPTNO

26 3. 데이터조작어 (DML) - 트랜잭션 (commit 과 rollback) 26 데이터베이스 TRANSACTION 데이터베이스 TRANSACTION 트랜잭션은데이터처리의한단위 오라클서버에서발생하는 SQL 문들을하나의논리적인작업단위로써성공하거나실패하는일련의 SQL 문 ORACLE SERVER 는 TRANSACTION 을근거로데이터의일관성을보증 TRANSACTION 은데이터를일관되게변경하는 DML 문장으로구성 (COMMIT, ROLLBACK, SAVEPOINT) 1 TRANSACTION 의시작 - 실행가능한 SQL 문장이제일처음실행될때 2 TRANSACTION 의종료 - COMMIT 이나 ROLLBACK - DDL 이나 DCL 문장의실행 ( 자동 COMMIT) - 기계장애또는시스템충돌 (crash) - deadlock 발생 - 사용자가정상종료 3 자동 COMMIT 은다음의경우발생 - DDL,DCL 문장이완료될때 - 명시적인 COMMIT 이나 ROLLBACK 없이 SQL*Plus 를정상종료했을경우 4 자동 ROLLBACK 은다음의경우발생 - SQL*Plus 를비정상종료했을경우 - 비정상적인종료, system failure

27 3. 데이터조작어 (DML) - 트랜잭션 (commit 과 rollback) 27 COMMIT 과 ROLLBACK COMMIT 과 ROLLBACK COMMIT : 변경사항저장 ROLLBACK : 변경사항취소 1 COMMIT 과 ROLLBACK 의장점 - 데이터의일관성을제공 - 데이터를영구적으로변경하기전에데이터변경을확인 - 관련된작업을논리적으로그룹화 - COMMIT, SAVEPOINT,ROLLBACK 문장으로 TRANSACTION 의논리를제어 2 COMMIT 이나 ROLLBACK 이전의데이터상태 - 데이터이전의상태로북구가가능 - 현재사용자는 SELECT 문장으로 DML 작업의결과를확인 - 다른사용자는 SELECT 문장으로현재사용자사용한 DML 문장의결과를확인할수없음. - 변경된행은 LOCK 이설정되어서다른사용자가변경할수없음. 3 COMMIT 이후의데이터상태 - 데이터베이스에데이터를영구적으로변경 - 데이터의이전상태는완전히상실 - 모든사용자가결과를볼수있다. - 변경된행의 LOCK 이해제되고다른사용자가변경할수있다. - 모든 SAVEPOINT 는제거

28 4. 내장함수 (Sing-Row Functions) - 숫자함수 (Number Functions) 28 ABS(n) : ABS 함수는절대값을계산하는함수 CEIL(n) : CEIL 함수는주어진값보다는크지만가장근접하는최소값을구하는함수 EXP(n) : EXP 함수는주어진값의 e 의승수. e = FLOOR(n) : FLOOR 함수는주어진값보다작거나같은최대정수값을구하는함수. (CEIL 함수와비교 ) LN(n) : LN 함수는주어진값의자연로그값을반환 MOD(m, n) : MOD 함수는 m 을 n 으로나누어남은값을반환. n 이 0 일경우 m 을반환 POWER(m, n) : POWER 함수는 m 의 n 승값을계산 ROUND(n, [m]) : ROUND 함수는 n 값의반올림을하는함수로 m 은소숫점아래자릿수를나타냄. SQL>SELECT ROUND( , 1) TEST FROM dual ; SQL>SELECT ROUND( , -1) TEST FROM dual ; TEST TEST SIGN(n) : SIGN 함수는 n<0 일경우 1 을 N=0 일경우 0 을 N>0 일경우 1 을반환 SQRT(n) : SQRT 함수는 n 값의루트값을계산. n 은양수 TRUNC(n, m) : TRUNC 함수는 n 값을 m 소숫점자리로반내림한값을반환. (ROUND 함수와비교 ) SQL>SELECT TRUNC(6.5597, 2) TEST FROM dual ; SQL>SELECT TRUNC ( , -2 ) TEST FROM dual ; TEST TEST

29 4. 내장함수 (Sing-Row Functions) - 문자열처리함수 (Character Functions) 29 CONCAT(char1, char2) CONCAT 함수는 Concatenation 의약자로두문자를결합하는역할. " " 연산자와같은역할을합니다. SQL>SELECT CONCAT('Oracle', ' Korea') NAME FROM dual ; NAME Oracle Korea INITCAP(char) : 주어진문자열의첫번째문자를대문자로변환 LOWER(char) : 문자열을소문자로변환 UPPER(char) : 문자열을대문자로변환 LPAD(char1, n [,char2]) : 왼쪽에문자열을끼어놓는역할 n 은반환되는문자열의전체길이를나타내며, char1 의문자열이 n 보다클경우 char1 을 n 개문자열만큼반환 SQL>SELECT LPAD('JUNG-SICK', 10, '*') NAME FROM dual ; NAME *JUNG-SICK RPAD(char1, n [,char2]) : LPAD 와반대로오른쪽에문자열을끼어놓는역할 SQL>SELECT RPAD('JUNG-SICK', 10, '*') NAME FROM dual ; NAME JUNG-SICK*

30 4. 내장함수 (Sing-Row Functions) - 문자열처리함수 (Character Functions) 30 SUBSTR(char, m,[n]) : SUBSTR 함수를이용하여 m 번째자리부터길이가 n 개인문자열을반환 m 이음수일경우에는뒤에서 M 번째문자부터반대방향으로 n 개의문자를반환 -- 뒤에서부터자를 SQL>SELECT SUBSTR('JUNG-SICK', 3, 3) NAME FROM dual ; SQL>SELECT SUBSTR('JUNG-SICK', -3, 3) NAME FROM dual ; NAME NAME NG- ICK LENGTH(char1) : 문자열의길이를리턴 SQL>SELECT LENGTH('JUNG-SICK') TEST FROM dual ; TEST REPLACE(char1, str1, str2) : REPLACE 는문자열의특정문자를다른문자로변환 SQL> SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL; Changes BLACK and BLUE -- 대소문자를구분한다는것을알수있다. SQL>SELECT REPLACE('JACK and JUE','j','BL') "Changes" FROM DUAL Changes JACK and JUE

31 4. 내장함수 (Sing-Row Functions) - 문자열처리함수 (Character Functions) 31 INSTR : 문자열이포함되어있는지를조사하여문자열의위치를반환지정한문자열이발견되지않으면 0 이반환 -- 지정한문자 OK 가발견되지않아서 0 이반환 SQL>SELECT INSTR('CORPORATE FLOOR','OK') "Instring" FROM DUAL Instring OR 이있는위치 2 를반환. 왼쪽부터비교를한다는것을알수있다. SQL>SELECT INSTR('CORPORATE FLOOR','OR') "Instring" FROM DUAL Instring TRIM : 특정한문자를제거제거할문자를입력하지않으면기본적으로공백이제거. 리턴값의데이터타입은 VARCHAR 을제거 SQL>SELECT TRIM(0 FROM ) "TRIM Example" FROM DUAL; TRIM Example 어떤문자도입력하지않으면기본적으로공백이제거 -- TRIM 을사용한위에예제와사용하지않은아래예제의결과값이다르게나오는것을알수있다. SQL>SELECT NVL(TRIM (' '),' 공백 ') "TRIM Example" FROM DUAL TRIM Example 공백

32 4. 내장함수 (Sing-Row Functions) - 날짜처리함수 (Date Functions) 32 LAST_DAY(d) : LAST_DAY 함수는달의마지막날의날짜를반환 SQL>SELECT SYSDATE TODAY, LAST_DAY(SYSDATE) LASTDAY FROM dual ; TODAY LASTDAY JUN JUN-2000 ADD_MONTHS(a, b) : ADD_MONTHS 함수는 a 의날짜에 b 의달을더한값을반환 SQL>SELECT TO_CAHR(ADD_MONTHS(SYSDATE,3),'RRRR/MM/DD' LASTDAY) "date" FROM dual ; date /09/05 MONTH_BETWEEN(a1, a2) : MONTH_BETWEEN 은 a1 과 a2 사이의달의수를 NUMBER 형타입으로반환 SQL>SELECT MONTHS_BETWEEN(TO_DATE('2000/06/05'), TO_DATE('2000/09/23')) "Date" FROM dual ; Date ROUND(d[,F]) : ROUND 함수는 F 에지정된단위로반올림합니다, F 가연도라면연도단위로반올림 SQL>SELECT ROUND(TO_DATE('1998/09/11'), 'YEAR') FROM dual ; ROUND(TO_

33 4. 내장함수 (Sing-Row Functions) - 변환함수 (Conversion Functions) 33 TO_CHAR : TO_CHAR 함수는 DATE 형, NUMBER 형을 VARCHAR2 형으로변환 SQL>SELECT TO_CHAR(SYSDATE, 'MONTH') CHARTEST FROM dual ; CHARTEST JUNE 오늘이 6 월 10 일이라면,.. 오늘의달인 6 월이찍힘 TO_DATE : TO_DATE 함수는 CHAR, VARCHAR2 형을 DATE 타입으로변환 SQL>SELECT TO_DATE('2000/06/16','RRRR/MM/DD') FROM dual ; TO_DATE( /06/16 '2000/06/16' 문자열이날짜형으로변환 TO_NUMBER : TO_NUMBER 함수는 CHAR, VARCHAR2 의데이터타입을숫자형식으로변환 SQL>SELECT TO_NUMBER(' ') FROM dual ; TO_NUMBER( ' ' 문자열이숫자형으로변환 * SQL Function 에대하여아래사이트참조.

34 4. 내장함수 (Sing-Row Functions) - 기타함수 (Miscellaneous Single-Row Functions) 34 NVL - NVL 함수는 NULL 값을다른값으로바꿀때쓰임. - 모든데이터타입에적용가능 - 전환되는값의데이터타입을일치시켜야함. SQL>SELECT empno, NVL(comm, 0) FROM emp WHERE deptno = 30; EMPNO NVL(COMM,0) Commsion 이없는사원에대해 0 으로바꾸어서출력 DECODE - DECODE 함수는데이터들을다른값으로바꾸어줌 - 형식 DECODE(VALUE, IF1, THEN1, IF2, THEN2...) - VALUE 값이 IF1 일경우에 THEN1 값으로바꾸어주고 VALUE 값이 IF2 일경우에는 THEN2 값으로바꾸어줌 SQL> SELECT deptno, DECODE(deptno, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 40, 'OPERATIONS') FROM emp ; DEPTNO DECODE(DEP RESEARCH 30 SALES 10 ACCOUNTING 부서가 10 번이면 'ACCOUNTING' 를 20 번이면 'RESEARCH' 를 30 번이면 'SALES' 를 40 번이면 'OPERATIONS' 를출력하는예제

35 4. 내장함수 (Sing-Row Functions) - 기타함수 (Miscellaneous Single-Row Functions) 35 DUMP : DUMP 는바이트크기와해당데이터타입코드를반환 SQL>SELECT ename, DUMP(ename, 16) "16 진수 " FROM emp WHERE ename = 'ALLEN' ename 16진수 ALLEN Typ=1 Len=5: 41,4c,4c,45,4e 만약에 16 대신 8 을넣으면 8 진수로, 10 를넣으면 10 진수로변환 16, 10, 8, 17 이올수있는데, 17 은단일문자열을반환함. Len 은 ename 의해당 byte 수 GREATEST : GREATEST 함수는검색값중에서가장큰값을반환 SQL>SELECT GREATEST(10, 100, 5, -7) FROM DUAL; GREATEST(10,100,5,-7) 가장큰수 : 100 LEAST : LEAST 함수는 GREATEST 함수와반대로가장작은값을반환 SQL>SELECT LEAST(10, 100, 5, -7) FROM DUAL; LEAST(10,100,5,-7)

36 4. 내장함수 (Sing-Row Functions) - 기타함수 (Miscellaneous Single-Row Functions) 36 UID : 현재사용자의유일한 ID 번호를반환 USER : 현재오라클을사용하는사용자를 VARCHAR2 형식으로반환 SQL> SELECT USER, UID FROM DUAL; USER UID SCOTT 32 USERENV : USERENV 함수는현재세션의환경정보를반환 - ENTRYID : 사용가능한 Auditing entry Identifier를반환 - LABEL : 현재세션의 Label을반환 - LANGUAGE : 현재세션에서사용중인언어와테리토리값을반환 - SESSIONID : Auditing( 감사 ) Session ID 를반환 - TERMINAL : 현재세션터미널의 OS ID를반환 SQL> SELECT USERENV('LANGUAGE') FROM DUAL; USERENV('LANGUAGE') KOREAN_KOREA.KO16KSC5601 VSIZE : 해당문자의 BYTE 수를반환합니다. 해당문자가 NULL 이면 NULL 값이반환 SQL> SELECT VSIZE(ename), ename FROM emp WHERE deptno = 30; VSIZE(ENAME) ENAME ALLEN 4 WARD 6 MARTIN

37 5. 그룹함수 (Group Functions) - Group Function 의종류 37 그룹함수란? - 그룹함수란여러행또는테이블전체의행에대해함수가적용되어하나의결과값을가져오는함수 - GROUP BY 절을이용하여그룹당하나의결과가주어지도록그룹화할수있다. - HAVING 절을사용하여그룹함수를가지고조건비교를할수있다. - COUNT(*) 를제외한모든그룹함수는 NULL 값을고려하지않는다. - MIN, MAX 그룹함수는모든자료형에대해서사용할수있다. 그룹함수의종류 COUNT : COUNT 함수는검색된행의수를반환 SQL>SELECT COUNT(deptno) FROM DEPT ; COUNT(DEPTNO) ==> 검색된행의총수 4 개를반환. 즉 4 개의부서가존재 MAX : MAX 함수는컬럼중의최대값을반환 SQL>SELECT MAX(sal) salary FROM emp ; SALARY ==> sal 컬럼중에서제일큰값을반환. 즉가장큰급여를반환

38 5. 그룹함수 (Group Functions) - Group Function 의종류 38 MIN : MIN 함수는컬럼중의최소값을반환 SQL>SELECT MIN(sal) salary FROM emp ; SALARY ==> sal 컬럼중에서가장작은값반환. 즉가장적은급여를반환 AVG : AVG 함수는평균값을반환 SQL>SELECT ROUND(AVG(sal),1) salary FROM emp WHERE deptno = 30 SALARY ==> 30 부서사원의평균급여를소수점 1 자리이하에서반올림 SUM : SUM 함수는검색된컬럼의합을반환 SQL>SELECT SUM(sal) salary FROM emp WHERE deptno = 30; SALARY ==> 30 부서사원의급여합계를보여줌 STDDEV : STDDEV 함수는표준편차를반환 SQL> SELECT ROUND(STDDEV(sal),3) salary FROM emp WHERE deptno = 30 ; SALARY ==> 30 부서사원의급여표준편차를반환

39 5. 그룹함수 (Group Functions) - Group By 절과 Having 절 39 GROUP BY? - 특정한컬럼의테이터들을다른데이터들과비교해유일한값에따라무리를지음 - GROUP BY 절을사용하여한테이블의행들을원하는그룹으로나눔 - Column 명을 GROUP 함수와 SELECT 절에사용하고자하는경우 GROUP BY 뒤에 Column 명을추가 GROUP BY 예제 예제1) 부서별로그룹을지은검색결과값이며부서별로사원수를보여줌 SQL>SELECT b.deptno, COUNT(a.empno) FROM emp a, dept b WHERE a.deptno = b.deptno GROUP BY b.deptno DEPTNO COUNT(*) 예제 2) 업무별로그룹하여업무, 인원수, 평균급여액, 최고급여액, 최저급여액및합계를출력하라. SQL>SELECT job, COUNT(empno) " 인원수 ", AVG(sal) " 평균급여액 ", MAX(sal) " 최고급여액 ", MIN(sal) " 최저급여액 ", SUM(sal) " 급여합계 " FROM emp GROUP BY job JOB 인원수평균급여액최고급여액최저급여액급여합계 ANALYST CLERK MANAGER PRESIDENT SALESMAN

40 5. 그룹함수 (Group Functions) - Group By 절과 Having 절 40 GROUP BY 의 HAVING 절 - WHERE 절에 GROUP Function 을사용할수없음 - HAVING 절은 GRUOP 함수를가지고조건비교를할때사용 - WHERE GRUOP BY HAVING ORDER BY 순으로쿼리문이와야됨. 예제 1) 사원수가 5 명이넘는부서의부서명과사원수를출력해라 SQL>SELECT b.dname, COUNT(a.empno) FROM emp a, dept b WHERE a.deptno = b.deptno GROUP BY dname HAVING COUNT(a.empno) > 5 DNAME COUNT(A.EMPNO) RESEARCH 6 SALES 6 예제2) 전체월급이 5000을초과하는각업무에대해서업무와월급여합계를출력하여라. 단판매원은제외하고월급여합계로내림차순정렬하여라. SQL>SELECT job, SUM(sal) " 급여합계 " FROM emp WHERE job NOT IN ('SALES') -- 판매원은제외 GROUP BY job -- 업무별로 Group By HAVING SUM(sal) > 전체월급이 5000을초과하는 ORDER BY SUM(sal) DESC; -- 월급여합계로내림차순정렬 JOB 급여합계 MANAGER 8520 ANALYST 6000 SALESMAN 5600

41 6. 서브쿼리 (Subquery) - 서브쿼리 (Subquery) 란? 41 Subquery란? SUBQUERY는다른하나의 SQL 문장의절에 NESTEDED된 SELECT 문장 SELECT, UPDATE, DELETE, INSERT와같은 DML문과 CREATE TABLE 또는 VIEW에서이용될수있음 알려지지않은조건에근거한값들을검색하는 SELECT 문장을작성하는데유용 SUBQUERY는 MAIN QUERY가실행되기이전에한번실행 Guidelines SUBQUERY는괄호로묶어야함. SUBQUERY는연산자의오른쪽에나타냄 두종류의비교연산자들이 SUBQUERY에사용 - 단일행연산자 (=,>, >=, <, <=, <>,!=) - 복수행연산자 (IN, NOT IN, ANY, ALL, EXISTS) Guidelines 단일행 (Sing-Row) 서브쿼리 : SELECT문장으로부터오직하나의행만을검색하는질의 다중행 (Multiple-Row) 서브쿼리 : SELECT문장으로부터하나이상의행을검색하는질의 다중열 (Multiple-Column) 서브쿼리 : SELECT문장으로부터하나이상의컬럼을검색하는질의 FROM절상의서브쿼리 (INLINE VIEW) : FROM절상에오는서브쿼리로 VIEW처럼작용 상관관계서브쿼리 : 바깥쪽쿼리의컬럼중의하나가안쪽서브쿼리의조건에이용되는처리방식

42 6. 서브쿼리 (Subquery) - 단일행 (Sing-Row) 서브쿼리 42 단일행 (Sing-Row) 서브쿼리란? 오직한개의행 ( 값 ) 을반환 (Return only one row) 단일행연산자 (=,>, >=, <, <=, <>,!=) 만사용 SQL> SELECT ename,job FROM emp WHERE job = (SELECT job FROM emp WHERE empno = 7369); 위의서브쿼리를실행시키면. 오른쪽의그림처럼. empno 가 7369 인 job 을먼저검색하고.. job 이 'CLERK' 인사원의이름과직업을반환

43 6. 서브쿼리 (Subquery) - 다중행 (Multiple-Row) 서브쿼리 43 다중행 (Multiple-Row) 서브쿼리란? 하나이상의행을 RETURN 하는 SUBQUERY 를다중행 SUBQUERY 복수행연산자 (IN, NOT IN, ANY, ALL, EXISTS) 를사용 IN 연산자의사용예제 예제 ) 부서별로가장급여를많이받는사원의정보를출력하는예제 SQL>SELECT empno,ename,sal,deptno FROM emp WHERE sal IN (SELECT MAX(sal) FROM emp GROUP BY deptno); EMPNO ENAME SAL DEPTNO BLAKE SCOTT FORD KING ANY 연산자의사용예제 - ANY 연산자는서브쿼리의결과값중어느하나의값이라도만족이되면결과값을반환 SQL>SELECT ename, sal FROM emp WHERE deptno!= 20 AND sal > ANY(SELECT sal FROM emp WHERE job='salesman'); ENAME SAL ALLEN 1600 BLAKE 2850 CLARK 2450 KING 5000 TURNER 1500 MILLER 개의행이선택

44 6. 서브쿼리 (Subquery) - 다중행 (Multiple-Row) 서브쿼리 44 ALL 연산자의사용예제 - ALL 연산자는서브쿼리의결과값중모든결과값이만족되야만결과값을반환 SQL>SELECT ename, sal FROM emp WHERE deptno!= 20 AND sal > ALL(SELECT sal FROM emp WHERE job='salesman'); ENAME SAL BLAKE 2850 CLARK 2450 KING 개의행이선택 EXISTS 연산자의사용예제 - EXISTS 연산자를사용하면서브쿼리의데이터가존재하는가의여부를먼저따져존재하는값들만을결과로반환 - SUBQUERY 에서적어도 1 개의행을 RETURN 하면논리식은참이고그렇지않으면거짓 예제 ) 사원을관리할수있는사원의정보를보여줌 SELECT empno, ename, sal FROM emp e WHERE EXISTS (SELECT empno FROM emp WHERE e.empno = mgr) EMPNO ENAME SAL JONES BLAKE CLARK SCOTT KING FORD 개의행이선택

45 6. 서브쿼리 (Subquery) - 다중열 (Multiple-Column) 서브쿼리 45 다중열 (Multiple-Column) 서브쿼리란? 다중열서브쿼리란서브쿼리의결과값이두개이상의컬럼을반환하는서브쿼리 Pairwise( 쌍비교 ) Subquery 서브쿼리가한번실행되면서모든조건을검색해서주쿼리로넘겨줌 ex) SELECT empno, sal, deptno FROM emp WHERE (sal, deptno) IN ( SELECT sal, deptno FROM emp WHERE deptno = 30 AND comm is NOT NULL ); EMPNO SAL DEPTNO Null Values in a Subquery 서브쿼리에서 null 값이반환되면주쿼리에서는어떠한행도반환되지않음. Nonpairwise( 비쌍비교 ) Subquery 서브쿼리가여러조건별로사용되어서결과값을주쿼리로넘겨줌 ex) SELECT empno, sal, deptno FROM emp WHERE sal IN ( SELECT sal FROM emp WHERE deptno = 30 AND comm is NOT NULL ) AND deptno IN ( SELECT deptno FROM emp WHERE deptno = 30 AND comm is NOT NULL ); EMPNO SAL DEPTNO

46 6. 서브쿼리 (Subquery) - FROM 절상의서브쿼리 (INLINE VIEW) 와상관관계서브쿼리 46 FROM 절상의서브쿼리 (INLINE VIEW) 란? SUBQUERY 는 FROM 절에서도사용이가능 INLINE VIEW 란 FROM 절상에오는서브쿼리로 VIEW 처럼작용 예제 ) 급여가 20 부서의평균급여보다크고사원을관리하는사원으로서 20 부서에속하지않은사원의정보를보여주는 SQL 문 SELECT b.empno,b.ename,b.job,b.sal, b.deptno FROM (SELECT empno FROM emp WHERE sal >(SELECT AVG(sal) FROM emp WHERE deptno = 20)) a, emp b WHERE a.empno = b.empno AND b.mgr is NOT NULL AND b.deptno!= 20 EMPNO ENAME JOB SAL DEPTNO BLAKE MANAGER CLARK MANAGER 상관관계서브쿼리 상관관계서브쿼리란바깥쪽쿼리의컬럼중하나가안쪽서브쿼리의조건에이용되는처리방식 이는주쿼리에서서브쿼리를참조하고이값을다시주쿼리로반환 예제 ) 사원을관리할수있는사원의평균급여보다급여를많이받는사원의정보를출력 SELECT empno, ename, sal FROM emp e WHERE sal > (SELECT AVG(sal) sal FROM emp WHERE e.empno = mgr) EMPNO ENAME SAL BLAKE CLARK SCOTT KING FORD 3000

47 6. 서브쿼리 (Subquery) - 집합쿼리 (UNION, INTERSECT, MINUS) 47 집합쿼리 (UNION, INTERSECT, MINUS) 집합연산자를사용시집합을구성할컬러의데이터타입이동일해야함 UNION : 합집합 UNION ALL: 공통원소두번씩다포함한합집합 INTERSECT: 교집합 MINUS: 차집합 UNION UNION 은두테이블의결합을나타내며, 결합시키는두테이블의중복되지않은값들을반환 SQL>SELECT deptno FROM emp UNION SELECT deptno FROM dept; DEPTNO UNION ALL UNION 과같으나두테이블의중복되는값까지반환 SQL>SELECT deptno FROM emp UNION ALL SELECT deptno FROM dept; DEPTNO

48 6. 서브쿼리 (Subquery) - 집합쿼리 (UNION, INTERSECT, MINUS) 48 INTERSECT INTERSECT 는두행의집합중공통된행을반환 SQL>SELECT deptno FROM emp INTERSECT SELECT deptno FROM dept; DEPTNO MINUS MINUS 는첫번째 SELECT 문에의해반환되는행중에서두번째 SELECT 문에의해반환되는행에존재하지않는행들을보여줌 SQL>SELECT deptno FROM dept MINUS SELECT deptno FROM emp; DEPTNO

1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati

1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati 1 Chapter. 6 Oracle SQL 1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulation Language) : 데이터의검색과수정등의처리

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

ORACLE-SQL

ORACLE-SQL ORACLE-SQL SELECT 문 2014-04-12 Blog.ksh123jjang.me 내용 SELECT문이란?... 2 SLELECT문사용하기... 3 모든열선택... 4 특정열검색... 5 SQL문작성방법... 6 열머리글기본값... 7 산술식... 8 NULL... 9 열 alias... 10 연결연산자... 11 대체인용연산자 (q)... 12 중복행제거...

More information

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY; Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 3 장 SQL 복수행함수 ( 그룹함수 ) 를배웁니다 1 함수이름 의 미 사용예 COUNT 입력되는데이터들의건수를출력 COUNT(sal) SUM 입력되는데이터들의합계값을출력 SUM(sal) AVG 입력되는데이터들의평균값을출력 AVG(sal) MAX 입력되는데이터들중최고값을출력 MAX(sal) MIN

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx 05-01 SQL의소개 SQL을이용한데이터정의 SQL을이용한데이터조작 뷰 삽입 SQL 학습목표 SQL의역할을이해하고, 이를기능별로분류해본다. SQL의데이터정의기능을예제를통해익힌다. SQL의데이터조작기능을예제를통해익힌다. 뷰의개념과장점을이해한다. 삽입 SQL의역할을이해한다. 2 01 SQL 의소개 SQL (Structured Query Language) 의미

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

Jerry Held

Jerry Held ,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) SECTION 03 데이터조작어 (DML) 3-1 데이터검색 (SELECT)

More information

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본으로사용할수도있음 여러개의테이블에서서로유기적인관계를설정하여하나의테이블에서작업하는것처럼작업이가능 2- 쿼리 (Query) 종류 1) 선택쿼리가장일반적인방법형태의쿼리

More information

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

PostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1

PostgreSQL 2  Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1 ERwin 과 PostgreSQL 연동하기 인하대학교지리정보공학과데이터베이스실습 PostgreSQL 2 http://www.postgresql.org/ Uniersity of California at Berkeley (1977-1985) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1996 년부터

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft PowerPoint - Oracle Data Access Pattern.ppt Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용] Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

FlashBackt.ppt

FlashBackt.ppt 1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query

More information

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63> Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다.

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

예제소스는  에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

More information

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로 " > " 를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로  >  를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번 Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미.

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

오라클 명령어 와 SQL 정리

오라클 명령어 와 SQL 정리 1. 현재접속된계정의모든테이블를보기위한 SQL문 select * from tab; 2. 테이블구조확인하기 desc tablename ------------------------! SQL PLUS 명령어! ------------------------ 3. SQL PLUS 사용환경설정명령어 SET system_variable value system_variable

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

PowerPoint Presentation

PowerPoint Presentation MySQL 한번에끝내기 목차 1. MySQL 소개 2. MySQL 설치 3. SQL 기본 4. SQL 고급 MySQL 한번에끝내기 3 1. MySQL 소개 MySQL 소개 MySQL 은가장널리사용되고있는관계형데이터베이스관리시스템 (RDBMS: Relational DBMS) MySQL 은오픈소스이며, 다중사용자와다중스레드를지원 C 언어, C++, JAVA, PHP

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서짂수저 1 장. SELECT 문을이용하여 원하는데이터가져오기 1 - DESC 명령어로컬럼을확인하자! SCOTT>DESC emp ; Name Null? Type ------------------------ ------------------ -------------------- EMPNO NOT NULL NUMBER(4)

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770> 3.2 관계데이터언어 0709 (1) 관계대수 0703 0705 0703 1) 관계대수정의 1 원하는정보와그정보를어떻게유도하는가를기술하는절차적인방법 0503 2 주어진관계로부터원하는관계를얻기위해연산자와연산규칙을제공하는언어 0503 3 릴레이션조작을위한연산의집합으로피연산자와결과가모두릴레이션이라는특성을가짐 2) 순수관계연산자 0305 관계데이터베이스에적용할수있도록특별히개발된관계연산자

More information

make life game.doc

make life game.doc Database design guide ( 테이블, 컬럼정의방법 ) 2004 년 11 월 18 일 Sunny Kwak sunnykwak@hanmail.net sunnykwak.egloos.com Copyrights 2004 Sunny Kwak. All rights reserved. Other disclaimers The names of actual companies

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase 목 차 SQL 기본과활용 2010. 09. 29 삼성 S D S 정성철수석 ( D A / T A ) 1. RDBMS 2. SQL 3. SELECT 4. INDEX 5. MODELING 6. JOIN 7. DRIVING TABLE 8. SUBQUERY 9. OPTIMIZER 10. 과목2. ERD 11. 과목2. 목차 0. Intro ORACLE 社 Oracle,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

개발문서 Oracle - Clob

개발문서 Oracle - Clob 개발문서 ORACLE CLOB 2008.6.9 ( 주 ) 아이캔매니지먼트 개발팀황순규 0. clob개요 1. lob과 long의비교와 clob와 blob 2. 테이블생성쿼리 ( 차이점-추가사항 ) 3. select 쿼리 4. insert 쿼리및 jdbc프로그래밍 5. update 쿼리및 jdbc프로그래밍 (4, 5). putclobdata() 클래스 6. select

More information

<4D F736F F F696E74202D20C4C4C8B031B1DEC7CAB1E22DC0FCC3BCB1B3C0E72D D3133B3E232C8B8B1EEC1F6202D20BAB9BBE7BABB2E707074>

<4D F736F F F696E74202D20C4C4C8B031B1DEC7CAB1E22DC0FCC3BCB1B3C0E72D D3133B3E232C8B8B1EEC1F6202D20BAB9BBE7BABB2E707074> [ 엑셀총정리 (3)] 구분 주요 정보 ISBLANK, ISERROR, CELL, ISERR, ISEVEN, ISLOGICAL, ISNONTEXT, ISNUMBER, ISODD, ISTEXT, N, TYPE 데이터베이스 DSUM, DAVERAGE, DCOUNT, DCOUNTA, DMAX, DMIN, DVAR, DSTEDEV, DGET, DPRODUCT VLOOKUP,

More information

SQL

SQL 데이터베이스및 SQL 언어의기초 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 1 / 36 Part I 데이터베이스 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 2 / 36 데이터의구성및표현 개체 (entity): DB가표현하려는유형 / 무형적정보의대상속성 (attribute): 개체가갖는특성도메인

More information

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt . SQL(Structured Query Language) 특징 [ 출제빈도 상 ] 사용자 SQL ) 관계대수와관계해석을기초로한고급데이터언어 ) 이해하기쉬운형태 3) 대화식질의어로사용가능 4) 데이터정의, 조작, 제어기능제공 5) COBOL, C, PASCAL 등의언어에삽입 -> 내장 SQL 6) 레코드집합단위로처리 7) DBMS 에서사용되는비절차적대화형 Language

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2 5 장 SQL 응용 데이터베이스실험실 1 [ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL 5.2.1 T-SQL 문법 5.3 JAVA 프로그래밍 2 5.1 데이터베이스프로그래밍개념 프로그래밍 이라고하면프로그램소스를설계하고, 작성하고, 디버깅하는과정을말한다. 프로그램 혹은소프트웨어는컴퓨터에서주어진작업을하는명령어나열을말한다. 데이터베이스프로그래밍은명확한정의는없지만데이터베이스에데이터를정의하고,

More information

슬라이드 1

슬라이드 1 17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

RDB개요.ppt

RDB개요.ppt 1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

Database Applications - 멀티미디어 데이터베이스 –  제6장  텍스트 색인과 검색 - 데이터베이스시스템 2013. 09. 05 가천대학교 IT 대학 컴퓨터미디어융합학과 목차 4.1 개요 4.2 자료정의 4.3 자료질의 4.4 자료갱신 4.5 스키마변경 4.6 무결성제약조건 4.7 익힘문제 4.1 개요 SQL structured query language 상업용 RDB의표준언어, IBM 설계및구현. SQL1: 86년 ANSI와 ISO의합작

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

EEAP - Proposal Template

EEAP - Proposal Template 제품 : ArcGIS Desktop 제작일 : 2019 년 03 월 19 일 제작 : 개요 본문서는 ArcGIS 의쿼리식에사용되는일반적인쿼리요소에대한한국에스리 기술문서입니다. 다음내용을통해쿼리식에사용되는연산자에대한을확인할 수있습니다. 쿼리 (Query) 는 ArcGIS 에서피처및테이블레코드의하위집합을선택하는데사용됩니다. ArcGIS 쿼리표현식은표준 SQL 표현식을준수합니다.

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Microsoft Word - 07_TRIGGER.doc

Microsoft Word - 07_TRIGGER.doc DATABASE TRIGGER INTRODUCTION 프로그램단위 1 의하나인트리거 2 (Trigger) 는테이블, 뷰, 스키마또는데이터베이스에관련된 PLSQL 블록 ( 또는프로시저 ) 으로관련된특정사건 (Event) 이발생될때마다묵시적 ( 자동 ) 으로실행이이루어진다 (Fire). 트리거를생성할때관련된사건 (Event) 도함께정의되며, 실행부에서저장된프로시저

More information