목록Oracle SQL (25)
나의 개발일지

트랜잭션의 개념 데이터 일관성을 보장하기 위해 오라클 서버는 트랜잭션이라는 단위를 기반으로 데이터 변경사항을 처리 데이터를 일관성 있게 변경하는 연관된 DML 문으로 구성 데이터 일관성 보장 데이터를 변경할 때 사용자 프로세스가 중단되거나 시스템 장애가 발생한 경우 트랜잭션의 시작과 종료 단일 트랜잭션 하나 이상의 DML 문 하나의 DDL 문이나 DCL 문 트랜잭션은 세션에서 첫 번째 DML 문이 실행될 때 시작 트랜잭션이 종료되는 이벤트 COMMIT 또는 ROLLBACK 문이 실행되는 경우 DDL 문이 실행되는 경우 DCL 문이 실행되는 경우 SQL*Plus나 SQL Developer를 종료하는 경우 시스템에 자앵가 있거나 시스템이 고장난 경우 트랜잭션의 종료 명시적 종료 사용자가 DML 실행 후에 C..

데이터 조작어 (DML) 데이터베이스에 데이터를 추가, 갱신 또는 삭제할 때 실행하는 SQL 명령어 기본적인 DML 명령문의 종류 명령어 설명 INSERT 테이블에 새 행 추가 UPDATE 테이블의 기존 행 수정 DELETE 테이블에서 기존 행 삭제 MERGE 테이블에 INSERT와 UPDATE를 동시에 처리 트랜잭션 논리 작업 단위를 형성하는 DML 문의 모음 데이터베이스는 트랜잭션 단위로 데이터베이스에 변경 내용을 적용 트랜잭션에 포함된 명령문 중 하나라도 실행되지 못하면 나머지 명령문과 함께 모두 취소 INSERT 명령 INSERT INTO ... VALUES 명령 한 번에 하나의 행을 테이블에 입력 서브쿼리 사용 한 번에 여러 행을 테이블에 입력 한 번에 여러 행을 여러 테이블에 입력하는 다중 테..

서브 쿼리와 메인 쿼리 메인 쿼리 (외부 쿼리) 결과를 반환할 때 사용할 최종 쿼리문 서브 쿼리 (내부 쿼리) SQL 문 내부에 포함되는 괄호 안의 쿼리문 중첩 SELECT 문 또는 하위 SELECT 문 외부 쿼리 (메인 쿼리)에 사용될 값만 처리 서브 쿼리 결과는 화면에 반환되지 않음 특별한 경우를 제외하고는 서브 쿼리는 메인 쿼리보다 먼저, 한 번만 실행 서브 쿼리가 필요한 경우 두 개의 순차적인 쿼리를 수행하여 첫 번째 쿼리 결과를 두 번째 쿼리의 검색 값으로 사용하는 경우와 동일한 작업을 하나의 SQL에서 실행 예시) 오상우 사원보다 급여가 많은 사원을 구하기 위해 먼저 오상우 사원의 급여를 구한다. (630) 그다음 오상우 사원의 급여인 630을 가지고 조건을 검색하는 쿼리를 또 작성한다. 이렇..

조인의 개념 하나의 SELECT 문 안에서 여러 테으블로부터의 데이터를 사용하는 것 정규화 관계형 데이터베이스는 중복을 최소화하고 갱신 작업의 이상현상을 제거하기 위하여 설계 시 수행하는 과정 정규화의 결과 테이블에는 필요한 최소한의 정보를 저장하게 되어 보고서를 생성하려면 여러 테이블의 데이터를 사용해야 하는 경우 발생 ➡ 조인 필요 조인의 종류 조인이 되는 두 테이블의 연관되는 데이터의 비교 방식 등가 조인 (Equi Join) 비등가 조인 (Non Equi Join) 조인의 결과에 따른 분류 Inner Join Outer Join (Inner Join 결과에 제외된 행들도 포함해서 표시) 조인에 사용되는 테이블 수에 의한 분류 Self Join 3 Way Join ANSI/ISO SQL 표준 조인 ..

GROUP BY 절의 추가 연산자 GROUP BY 절에 두 개 이상의 열을 지정하는 경우 그룹 함수는 항상 마지막 소그룹에 대한 결과만 반환 GROUP BY 절에 연산자를 추가하여 하나의 쿼리문 안에서 여러 차원의 그룹화 연산 가능 GROUP BY 절의 추가 연산자 종류 ROLLUP 연산자 CUBE 연산자 GROUPING SETS 연산자 ROLLUP 연산자 정규 GROUP BY에 의한 그룹화 행과 하위 총계 값을 포함하는 결과 집합을 산출 기존 GROUP BY의 결과와 상위 집계를 함께 표시 GROUP BY 절에 지정한 그룹화 목록에 따라 가장 하위 레벨부터 시작하여 최상위 총계까지 차례로 계산 엑셀에서의 부분합을 구하는 작업과 유사 보고서 작성 시 결과 집합에서 통계 및 요약 정보를 추출하는 데 유용하..

서브 그룹에 대한 집계결과 산출 그룹 함수를 사용하는 쿼리문에 GROUP BY 절을 추가 선택된 행을 서브 그룹으로 나눈 후 그룹 함수를 사용하여 각 서브 그룹에 대한 집계정보를 산출 GROUP BY 절에는 서브 그룹의 기준 열의 이름을 명시 구문 SELECT column, group_function(column), ... FROM table [WHERE 조건(s)] GROUP BY group_by_표현식 ORDER BY column; GROUP BY 절의 기본적인 사용법 FROM 절 다음에 GROUP BY 절을 명시 서브 그룹 생성 전에 제외할 행이 있다면 GROUP BY 절보다 앞 WHERE 절에 지정 GROUP BY 절에 지정되는 열 이름만 SELECT 절에 지정 가능 여러 열 기준의 서브 그룹 그..

그룹 함수의 개념 행 집합에 작용하여 그룹 당 하나의 결과를 생성 행 집합은 테이블 전체 혹은 WHERE 절의 조건에 의해 선택된 행들이 하나의 그룹 선택된 행들에 대하여 하나의 그룹으로 처리되기 때문에 그룹 함수의 결과는 항상 단일 행 구문 SELECT group_function(column), ... FROM table [WHERE 조건(s)]; 그룹 함수의 종류 COUNT MIN MAX AVG SUM SUM, AVG 함수 숫자 데이터를 저장하는 열에 대해 선택된 데이터들의 합계와 평균을 구한다. 예) SUM(salary), AVG(salary) MIN, MAX 함수 모든 데이터 타입에 사용 가능 선택된 열에 대한 최솟값, 최댓값을 구한다. 예) MIN(salary), MAX(salary), MIN(..

오라클의 조건 처리 구현 방식 오라클의 SQL 문 안에서 조건 처리 구현 (IF-THEN-ELSE 논리) DECODE 함수 DECODE는 오라클 8i 이전 버전에서 사용하던 전용 구문 CASE 표현식 ANSI SQL DECODE 함수 프로그래밍의 IF-THEN-ELSE 구문과 비슷한 기능을 하는 SQL 함수 첫 번째 인수에 해당하는 표현식을 각 search 값과 비교한 후 표현식이 search 값과 동일하면 해당 result 값을 반환 기본값(default)은 모든 조건에 맞지 않는 데이터에 적용 기본값이 생략되면 모든 search 값을 만족하지 않는 데이터는 NULL 값을 반환 구문 DECODE(col|표현식, search1, result1 [, search2, result2,..] [, default..