전체 글 74

서브쿼리(비연관/연관 서브쿼리, 스칼라 서브쿼리, 인라인 뷰 서브쿼리, 중첩 서브쿼리, 단일 행 서브쿼리, 다중 행 서브쿼리, 다중 칼럼 서브쿼리)

서브쿼리 하나의 SQL문에 포함된 또 하나의 SQL문. 알려지지 않은 기준을 이용한 검색을 위해 사용. - 메인 쿼리가 서브 쿼리를 포함하는 종속적인 관계. → 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 메인 쿼리는 서브 쿼리의 칼럼을 사용할 수 없다. 서브쿼리 주의사항 ① 서브쿼리를 괄호로 감싸서 사용한다. ② 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. → 단일 행 비교연산자는 서브 쿼리의 결과가 반드시 1건 이하. → 복수 행 비교연산자는 서브 쿼리의 결과 건수와 상관 없음. ③ 서브쿼리에서는 ORDER BY를 사용하지 못한다. → ORDER BY절은 SELECT 절에서 오직 한 개만 올 수 있기 때문에 메인쿼리의 마..

절차형 SQL (PL/SQL, 저장 모듈, 프로시저, 사용자 정의 함수, 트리거)

절차형 SQL 절차지향적인 프로그램이 가능하도록 하는 SQL. → 연속적인 실행, 분기, 반복 등의 제어 가능 오라클에서는 PL(Procedual Language)/SQL의 절차형 SQL을 제공한다. 1) PL/SQL : 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어. → PL/SQL로 다양한 저장 모듈(프로시저, 사용자 정의 함수, 트리거) 개발 가능. - PL/SQL 특징 1. Block 구조로 되어있어 각 기능별로 모듈화 가능. 2. 변수, 상수 등을 선언하여 SQL 문장 간 값 교환. 3. IF, LOOP 등의 절차형 언어를 사용하여 절차적인 프로그램이 가능. 4. 오라클에 내장되어 있음. 5. PL/SQL로 작성된 프로시저, 사용자 정의 함수는 작성자의 기준으로 트랜젝션 분할 가능. - Sto..

[ORACLE] 계층형 쿼리(START WITH, CONNECT BY, PRIOR, ORDER SIBLINGS BY)

계층형 쿼리 테이블의 레코드들이 부모, 자식 관계(상하 관계)를 이룰 때, 레코드를 수직적 구조로 가져오기 위해 사용되는 SQL 1) START WITH ... CONNECT BY 절 SELECT [컬럼] FROM [테이블] START WITH [최상위 조건] CONNECT BY [NOCYCLE][PRIOR 계층형 구조 조건]; - START WITH 계층 구조 전개의 시작위치[부모(루트) 노드] 지정. → 루트 노드의 LEVEL 값은 1. - CONNECT BY 부모와 자식노드들 간의 관계 명시. CONNECT BY 실행 순서 START WITH → CONNECT BY → WHERE - PRIOR - CONNECT BY PRIOR 자식 = 부모: 부모 → 자식으로 전개하는 순방향 전개. - CONNEC..

SQL CONSTRAINT 절(CONSTRAINT, 단일필드 제약조건, 다중필드 제약조건)

CONSTRAINT 절 ALTER TABLE 및 CREATE TABLE 문에 사용하여 제약 조건을 만들거나 삭제. 단일필드 제약조건 CONSTRAINT name(제약 조건의 이름) {PRIMARY KEY | UNIQUE | NOT NULL | REFERENCES foreigntable(외래 테이블 이름) [{foreignfield1, foreignfield2)] [ON UPDATE CASCADE | SET NULL] [ON DELETE CASCADE | SET NULL]} - UNIQUE: 고유키 다중필드 제약조건 CONSTRAINT name(제약 조건의 이름) {PRIMARY KEY (primary1[, primary2 [, ...]]) | UNIQUE (unique1[, unique2 [, ...]]..

728x90
반응형