Database

    WITH 절

    WITH 절은 Oracle 9 이후 버전부터 사용이 가능한 이름이 부여된 서브쿼리라고 보면 된다. 임시테이블을 만든다는 관점에서 본다면 VIEW와 쓰임새가 비슷하다. 하지만 VIEW는 한번 만들어 놓으면 DROP 할때까지 없어지지 않지만, WITH 절의 경우 한번 실행할 쿼리문내에 정의되어 있을때 그 쿼리문안에서만 실행된다는 차이점이 있다. WITH절을 사용하는 이유 복잡한 SQL에서 동일 블록에 대해 반복적으로 SQL문을 사용하는 경우, 그 블록에 이름을 부여하여 재사용 할 수 있게 함으로써 쿼리 성능을 높일 수 있다. WITH절을 이용하여 미리 이름을 부여해서 Query Block을 만들 수 있다. 자주 실행되는 경우 한번만 Parsing 되고 Plan 계획이 수립되므로 쿼리의 성능 향상에 도움이 된..

    VIEW (뷰)

    뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해, 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상의 테이블(virtual table)이다. 뷰를 가상 테이블이라고 하는 이유는 테이블은 디스크 공간이 할당되어 데이터를 저장할 수 있지만, 뷰는 데이터 딕셔너리 테이블에 뷰에 대한 정의만 저장하고 디스크에 저장 공간이 할당되지 않는다. (저장장치내에 물리적으로 존재하지 x) 일반 사용자들은 SQL문을 사용하여 테이블에 저장된 데이터를 검색하고 조작하는 것과 유사하게 뷰를 이용할 수 있다. (대개 SELECT를 위해 사용) VIEW의 특징 뷰는 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하고 조작도 기본 테이블과 거의 같다. 뷰는 가상 테이블이기 때..

    SQL - DCL(제어어)

    DB 관리자(DBA)가 사용 보안, 무결성, 회복, 병행제어등을 정의하는데 사용 COMMIT 트랜잭션 변경 내용 반영 (완료) ROLLBACK 이전 상태 되돌림 (복구) GRANT 권한 부여 REVOKE 권한 취소

    SQL - DDL(정의어)

    DDL로 정의된 내용은 메타데이터가 되며 시스템 카탈로그에 저장 CREATE 정의 CREATE TABLE CREATE TABLE 테이블명 ( 속성명 데이터타입[NOT NULL] ... [primary key (기본키_속성명...)] [, unique (대체키_속성명…)] [, foreign key(외래키_속성명, ....) references 참조테이블명(기본키_속성명...)] [ON DELETE 옵션] [ON UPDATE 옵션] [,CONSTRAINT 제약조건명] [CHECK (조건식)]; ) CREATE SCHEMA CREATE DOMAIN CREATE VIEW CREATE TRIGGER CREATE INDEX ALTER 변경 ALTER TABLE 테이블명 ADD 속성명 데이터타입 [DEFAULT ‘..

    SQL - DML(조작어)

    SELECT SELECT select_list [ALL, DISTINCT, DISTINCTROW] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ] 기본 주로 사용하는 테이블을 조회시 사용하는 문장이다. 열 이름에 있는 열을 불러와 조건에 맞도록 데이터를 보여준다. SELECT [열] [ALL, DISTINCT, DISTINCTROW] FROM [테이블] WHERE [조건] where은 생략가능, 조건이 없다면 전체 테이블 데이터 조회 ALL : 전체 컬럼 DISTINCT : 중복..