데이터 결과 검증, 가독성 있는 쿼리 작성하기

2025. 1. 20. 23:12 · DBMS/BigQuery

 

 

해당 내용은 초보자를 위한 BigQuery(SQL) 입문 강의를 기반으로 작성되었습니다.


6-1. Intro

SQL 쿼리에서 가독성과 데이터 결과 검증은 중요한 두 가지 요소이다. 복잡한 데이터나 여러 테이블을 조합하는 쿼리에서 가독성을 확보하지 않으면, 나중에 수정이나 디버깅할 때 어려움이 생길 수 있다. 또한, 데이터 결과가 정확한지 검증하는 과정은 결과의 신뢰성을 높여준다.


6-2. 가독성을 챙기기 위한 SQL 스타일 가이드

SQL 쿼리의 가독성을 높이기 위한 스타일 가이드는 주로 다음과 같은 방법들을 포함한다.

 

키워드 대문자 사용: SELECT, FROM, WHERE, JOIN 등의 SQL 키워드는 모두 대문자로 작성한다. 이는 SQL 키워드가 시각적으로 더 쉽게 구분되어 가독성을 높인다.

SELECT customer_id, order_id
FROM orders
WHERE order_date > '2023-01-01';

 

들여쓰기 및 공백 활용: 쿼리의 각 부분(SELECT, FROM, WHERE 등)을 적절하게 들여쓰고 공백을 활용하여 구분한다. 이렇게 하면 쿼리의 구조가 명확해져서 추후 유지보수가 용이해진다.

SELECT customer_id, order_id
FROM orders
WHERE order_date > '2023-01-01'AND status = 'completed';

 

컬럼과 테이블 명명 규칙: 컬럼명과 테이블명을 일관되게 명명하여 쿼리 작성 시 혼동을 줄인다. 예를 들어, 테이블 이름은 복수형으로, 컬럼명은 의미 있는 단어로 설정한다.

 

복잡한 표현식에 괄호 사용: 복잡한 계산이나 조건문에서는 괄호를 사용해 우선순위를 명확하게 한다.

SELECT (price * quantity) AS total
FROM orders;

 

주석 추가: 쿼리의 중요한 부분이나 복잡한 로직에는 주석을 추가하여 설명을 덧붙인다.

-- 주문 금액 계산
SELECT customer_id, SUM(price * quantity) AS total_amount
FROM orders
GROUP BY customer_id;

6-3. 가독성을 챙기기 위한 WITH 문 & 파티션

복잡한 쿼리에서 가독성을 높이기 위해 WITH 문과 파티션을 활용할 수 있다.

 

WITH 문:

  • WITH 구문을 사용하면 쿼리 내에서 서브쿼리를 **CTE(Common Table Expressions)**로 정의할 수 있다. 이는 쿼리를 여러 번 작성하지 않아도 되게 하며, 쿼리의 가독성을 크게 향상시킨다.
WITH customer_orders AS (
  SELECT customer_id, COUNT(order_id) AS total_orders
  FROM orders
  GROUP BY customer_id
)
SELECT * 
FROM customer_orders 
WHERE total_orders > 10;

 

파티션:

  • 윈도우 함수를 사용할 때 파티션을 이용하면 데이터를 그룹화하여 효율적으로 분석할 수 있다. 파티션은 데이터를 작은 구간으로 나누어 쿼리의 성능을 향상시킨다.
SELECT customer_id, order_id, 
       ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) AS row_num
FROM orders;

6-4. 데이터 결과 검증 정의

데이터 결과 검증은 쿼리 결과가 정확한지, 신뢰할 수 있는지를 확인하는 과정이다. 데이터를 분석하거나 보고서를 작성할 때, 그 결과가 정확한지 검증하는 것은 매우 중요하다. 데이터 검증 방법에는 여러 가지가 있으며, 이를 통해 결과가 올바른지 확인할 수 있다.

검증 방법에는 수동 검증과 자동화된 검증이 있다. 수동 검증은 데이터를 시각적으로 확인하는 것이고, 자동화된 검증은 쿼리나 테스트 스크립트를 통해 결과가 예상대로 나오는지 확인하는 방법이다.


6-5. 데이터 결과 검증 예시

데이터 결과를 검증하는 예시로는 다음과 같은 방법들이 있다.

 

샘플 데이터 검증:

  • 쿼리 결과에서 일부 데이터를 뽑아서 직접 확인한다. 예를 들어, 주문 테이블에서 특정 고객에 대한 주문 내역이 정확히 출력되는지 확인하는 것이다.
SELECT * 
FROM orders 
WHERE customer_id = 123 
LIMIT 10;

 

합계나 카운트 검증:

  • 특정 컬럼의 합계나 카운트를 계산하여, 전체 결과가 합리적인지 확인한다. 예를 들어, SUM(price)가 예상 범위 내에 있는지 검증한다.
SELECT SUM(price) 
FROM orders 
WHERE order_date > '2023-01-01';

 

기존 데이터와 비교:

  • 기존의 데이터를 기준으로 결과를 비교하여 올바른지 검증한다. 예를 들어, 이전 쿼리 결과와 새로운 쿼리 결과가 일치하는지 확인한다.

테스트 케이스 작성:

  • 예상되는 데이터와 쿼리 결과가 일치하는지 자동으로 검증할 수 있는 테스트 케이스를 작성한다. 이는 특히 자동화된 시스템에서 유용하다.
  1.  

6-6. 정리

이번 강의에서는 가독성 있는 SQL 쿼리 작성법과 데이터 결과 검증 방법에 대해 배웠다.

  • 가독성을 높이기 위해 SQL 스타일 가이드를 지키고, WITH 문과 파티션을 활용하여 복잡한 쿼리를 더 이해하기 쉽게 만들 수 있다.
  • 결과 검증을 통해 쿼리의 정확성을 확인하고, 예상치 못한 오류나 잘못된 데이터가 포함되지 않도록 할 수 있다.

SQL 쿼리 작성 시 가독성에 신경을 쓰고, 데이터를 검증하는 과정을 거친다면, 더 정확하고 신뢰할 수 있는 분석 결과를 얻을 수 있다.

728x90

'DBMS > BigQuery' 카테고리의 다른 글

4회차 인프런 스터디  (1) 2025.01.24
다량의 자료를 연결하는 JOIN  (0) 2025.01.20
5  (1) 2025.01.18
데이터를 어떻게 변환할 것인가  (0) 2025.01.17
어떻게 하면 SQL 쿼리를 잘 작성하고 오류를 디버깅 할까?  (0) 2025.01.17
'DBMS/BigQuery' 카테고리의 다른 글
  • 4회차 인프런 스터디
  • 다량의 자료를 연결하는 JOIN
  • 5
  • 데이터를 어떻게 변환할 것인가
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    빅데이터분석
    javascript
    티스토리챌린지
    AI역량검사
    오라클SQL
    대학생학회
    대외활동
    리액트
    sql
    jsx
    Oracle
    dbms
    주석
    react
    취업준비
    python
    오블완
    파이썬 챗봇 만들기
    BDA학회
    print(f"")
    js
    importturtle
    취업
    자바스크립트
    input
    자료형
    파이썬
    Py
    파이썬{}
    이름나이
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
데이터 결과 검증, 가독성 있는 쿼리 작성하기
상단으로

티스토리툴바