SQL 코딩 규약

조아라·2022년 11월 26일
0

SQL

목록 보기
1/5

키워드

아래 키워드를 사용할 때마다 줄바꿈한다.

  • SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING BY, INNER JOIN, ON
SELECT COL1
FROM TABLE A
WHERE ID = ''
ORDER BY ID DESC

주석

  • SQL은 코드와 다르게 한번 개발이 되고 나면 즉시 변경이 쉽지 않고 꽤 오랜 시간 동안 유지보수를 하게 된다. 따라서, 초기 주석을 잘 구축해 놓지 않으면 History를 알기 어렵다.

프로시저의 경우 CREATE PROCEDURE 위에 아래와 같이 주석을 추가하여 관리한다.

-- Object Name : DB명.DBO.SP이름
/******************************************************************************
** Name : DB명.DBO.SP이름
** Desc : 제목

-- 프로시저 TEST 예시
EXEC 프로시저명

** Auth: 작성자
** Date: 날짜
*******************************************************************************
** Change History
*******************************************************************************
** Date:		Author:		Description:
** --------		--------    --------------------------------------------------
** 날짜   	    작성자		설명(ex.최초작성)
** 날짜         작성자2		변경한 내용 1.1
******************************************************************************/
  • 프로시저의 버전관리는 Change History에 1.1, 1.2 과 같이 입력한다.

수정한 위치에 뒤에 버전을 입력하여 어떤 곳이 수정 되었는 지 알기 쉽게 관리한다.

SELECT *
FROM   CODE_MENU WITH(NOLOCK) --1.1 격리레벨 낮춤
WHERE  ISDELETED = 0

SELECT

  • SELECT 절 컬럼은 1줄에 1개씩 나열하는 것을 기본으로 하고 콤마(,)는 컬럼 앞에 입력한다.
    • 예외 : 컬럼 수가 너무 많은 경우 가독성을 고려하여 n개 나열도 허용한다.
SELECT CO1
     , CO2
     , CO3
  • SELECT 절 *(Asterisk) 대신 필요한 컬럼만 명시한다.
    • SELECT 구문의 Column List에는 반드시 필요한 컬럼만 명시해야 한다.
  • COUNT(*) 사용 최소화
    • 특정 조건을 만족하는 데이터가 존재하는 지의 여부를 판단할 때, COUNT(*)로 전체 데이터 건수를 조회할 필요 없이 TOP 1 으로 데이터 1건 이상 존재하는 지 확인하여 판단한다.
  • SELECT는 필요한 결과 값만 명시해야 한다.

FROM

  • FROM절 테이블 Alias는 가독성을 높이기 위해 테이블 약어 사용을 기본으로 한다.
    • 예외 : 조인되는 테이블이 많을 경우 알파벳(A,B,C..)을 사용할 수 있다.

0개의 댓글