메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
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 기준 최신판

  1. 개요
    1. 목적
      차세대 SI 구축 프로젝트의 SQL 작성에 대한 지침 문서로서 SQL의 가독성, 성능 및 유지보수를 고려하여 SQL 작성 표준 및 지침을 가이드한다.
    2. 적용범위
      차세대 SI 구축 프로젝트에서 작성하는 신규 SQL을 대상으로 한다.
  2. SQL 작성 표준
    1. 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} 등

    1. SQL 공통 표준
      가독성 향상을 위해 SQL에 공통으로 적용되는 표준은 다음과 같다.
      [SQL 공통 표준 예시]
    2. SELECT 절
    3. FROM 절
    4. WHERE 절
    5. 기타 예약어(SELECT)
    6. INSERT 문
    7. UPDATE 문
    8. DELETE 문
    9. SQL 성능 가이드
    10. 사용 제한 가이드
  1. 입력 조건별 SQL 작성
    1. 선택(Optional) 조건 처리
    2. 선택 조건 처리 예시
    3. 선택 조건 SQL 작성
  2. 페이징 처리
    1. 페이징 처리 방식
  3. 채번
    1. 채번방식
  4. ROW LOCK
    1. SELECT ~ FOR UPDATE 사용 지침
  5. 추가 가이드
    1. 업무별 테이블 권한
    2. 테이블 Truncate
    3. 개인정보 비식별화(테스트 데이터변환)