편집 요약 없음 |
편집 요약 없음 |
||
(같은 사용자의 중간 판 5개는 보이지 않습니다) | |||
4번째 줄: | 4번째 줄: | ||
## 적용범위 | ## 적용범위 | ||
##: 차세대 SI 구축 프로젝트에서 작성하는 신규 SQL을 대상으로 한다. | ##: 차세대 SI 구축 프로젝트에서 작성하는 신규 SQL을 대상으로 한다. | ||
# SQL 작성 표준 | # '''SQL 작성 표준''' | ||
## SQL 구성 용어 | ## SQL 구성 용어 | ||
##: SQL을 구성하는 주요 용어는 아래와 같다. | |||
{| class="wikitable" | |||
|+ | |||
|- | |||
! 용어 !! 정의 | |||
|- | |||
| 예약어 || SQL에서 사용하도록 DB 엔진에서 예약된 단어(Reserved Words) | |||
ex) SELECT ,UPDATE, INSERT, DELETE, FROM, SET, WHERE 등 | |||
|- | |||
| 식별자 || 테이블 또는 컬럼 식별자 (Identifier) | |||
ex) 테이블명, 컬럼명, alias 등 | |||
|- | |||
| 연산자 || 계산 및 비교에 사용되는 연산자 | |||
ex) >, <, =, +, -, BETWEEN, IN, EXISTS 등 | |||
|- | |||
|스칼라 쿼리||SELECT 절에 사용되는 서브쿼리를 스칼라 쿼리라고 함 | |||
ex) SELECT (SELECT NVL(AA,1) FROM TB AA) AS COL1 ... FROM DUAL; | |||
|- | |||
|인라인 뷰||FROM 절에 사용되는 서브쿼리를 인라인뷰라고 함 | |||
ex) SELECT ... FROM (SELECT COL1 FROM TB BB) A WHERE A.COL1 = '1'; | |||
|- | |||
|서브쿼리||WHERE 절에 사용되는 서브쿼리(SUB-QUERY)를 서브쿼리라고 함 | |||
ex) SELECT .. FROM TB_AA WHERE EXISTS (SELECT 1 FROM TB CC WHERE ...) | |||
|- | |||
|함수||DBMS에서 기본적으로 제공하는 함수 | |||
ex) CASE, SUM, TO_CHAR 등 | |||
|- | |||
|변수||SQL에 사용되는 변수 명(바인드 변수) | |||
ex) #{loanNo} 등 | |||
|} | |||
## SQL 공통 표준 | ## SQL 공통 표준 | ||
## SELECT 절 | ##: 가독성 향상을 위해 SQL에 공통으로 적용되는 표준은 다음과 같다. | ||
## FROM 절 | ##: [SQL 공통 표준 예시] | ||
## WHERE 절 | ##SELECT 절 | ||
## 기타 예약어(SELECT) | ##FROM 절 | ||
## INSERT 문 | ##WHERE 절 | ||
## UPDATE 문 | ##기타 예약어(SELECT) | ||
## DELETE 문 | ##INSERT 문 | ||
## SQL 성능 가이드 | ##UPDATE 문 | ||
## 사용 제한 가이드 | ##DELETE 문 | ||
# 입력 조건별 SQL 작성 | ##SQL 성능 가이드 | ||
## 선택(Optional) 조건 처리 | ##사용 제한 가이드 | ||
## 선택 조건 처리 예시 | #'''입력 조건별 SQL 작성''' | ||
## 선택 조건 SQL 작성 | ##선택(Optional) 조건 처리 | ||
# 페이징 처리 | ##선택 조건 처리 예시 | ||
## 페이징 처리 방식 | ##선택 조건 SQL 작성 | ||
# 채번 | #'''페이징 처리''' | ||
##페이징 처리 방식 | |||
#'''채번''' | |||
##채번방식 | ##채번방식 | ||
# ROW LOCK | #'''ROW LOCK''' | ||
## SELECT ~ FOR UPDATE 사용 지침 | ##SELECT ~ FOR UPDATE 사용 지침 | ||
# 추가 가이드 | #'''추가 가이드''' | ||
## 업무별 테이블 권한 | ##업무별 테이블 권한 | ||
## 테이블 Truncate | ##테이블 Truncate | ||
## 개인정보 비식별화(테스트 데이터변환) | ##개인정보 비식별화(테스트 데이터변환) |
2025년 7월 24일 (목) 16:30 기준 최신판
- 개요
- 목적
- 차세대 SI 구축 프로젝트의 SQL 작성에 대한 지침 문서로서 SQL의 가독성, 성능 및 유지보수를 고려하여 SQL 작성 표준 및 지침을 가이드한다.
- 적용범위
- 차세대 SI 구축 프로젝트에서 작성하는 신규 SQL을 대상으로 한다.
- 목적
- SQL 작성 표준
- SQL 구성 용어
- SQL을 구성하는 주요 용어는 아래와 같다.
- SQL 구성 용어
용어 | 정의 |
---|---|
예약어 | SQL에서 사용하도록 DB 엔진에서 예약된 단어(Reserved Words)
ex) SELECT ,UPDATE, INSERT, DELETE, FROM, SET, WHERE 등 |
식별자 | 테이블 또는 컬럼 식별자 (Identifier)
ex) 테이블명, 컬럼명, alias 등 |
연산자 | 계산 및 비교에 사용되는 연산자
ex) >, <, =, +, -, BETWEEN, IN, EXISTS 등 |
스칼라 쿼리 | SELECT 절에 사용되는 서브쿼리를 스칼라 쿼리라고 함
ex) SELECT (SELECT NVL(AA,1) FROM TB AA) AS COL1 ... FROM DUAL; |
인라인 뷰 | FROM 절에 사용되는 서브쿼리를 인라인뷰라고 함
ex) SELECT ... FROM (SELECT COL1 FROM TB BB) A WHERE A.COL1 = '1'; |
서브쿼리 | WHERE 절에 사용되는 서브쿼리(SUB-QUERY)를 서브쿼리라고 함
ex) SELECT .. FROM TB_AA WHERE EXISTS (SELECT 1 FROM TB CC WHERE ...) |
함수 | DBMS에서 기본적으로 제공하는 함수
ex) CASE, SUM, TO_CHAR 등 |
변수 | SQL에 사용되는 변수 명(바인드 변수)
ex) #{loanNo} 등 |
- SQL 공통 표준
- 가독성 향상을 위해 SQL에 공통으로 적용되는 표준은 다음과 같다.
- [SQL 공통 표준 예시]
- SELECT 절
- FROM 절
- WHERE 절
- 기타 예약어(SELECT)
- INSERT 문
- UPDATE 문
- DELETE 문
- SQL 성능 가이드
- 사용 제한 가이드
- SQL 공통 표준
- 입력 조건별 SQL 작성
- 선택(Optional) 조건 처리
- 선택 조건 처리 예시
- 선택 조건 SQL 작성
- 페이징 처리
- 페이징 처리 방식
- 채번
- 채번방식
- ROW LOCK
- SELECT ~ FOR UPDATE 사용 지침
- 추가 가이드
- 업무별 테이블 권한
- 테이블 Truncate
- 개인정보 비식별화(테스트 데이터변환)