🖥️ IT, 컴퓨터/📁 데이터 분석

[SQL] 기초 쿼리 모음

김 홍시 2024. 1. 2.
반응형

빅쿼리(BigQuery)에서 자주 사용되는 SQL 쿼리를 소개해드리겠습니다. 이들은 데이터 분석, 보고 및 처리 작업에서 효과적으로 사용됩니다.

SELECT 쿼리: 데이터를 검색하고 추출합니다.

   SELECT column1, column2
   FROM `your_dataset.your_table`
   WHERE condition
   ORDER BY column1;

GROUP BY 쿼리: 특정 열에 따라 데이터를 그룹화하고 집계합니다.

   SELECT column1, COUNT(column2)
   FROM `your_dataset.your_table`
   GROUP BY column1;

JOIN 쿼리: 두 개 이상의 테이블을 조인하여 관련된 데이터를 결합합니다.

   SELECT a.column1, b.column2
   FROM `your_dataset.table1` a
   JOIN `your_dataset.table2` b ON a.common_column = b.common_column;

WINDOW 함수 쿼리: 데이터의 서브셋에 대해 계산을 수행합니다.

   SELECT column1, SUM(column2) OVER (PARTITION BY column1)
   FROM `your_dataset.your_table`;

데이터셋 예시: 판매 데이터
테이블명: sales_data

  • column1: ProductCategory (제품 카테고리를 나타냄, 예: 전자제품, 가구, 의류 등)
  • column2: SaleAmount (각 판매 건에 대한 판매 금액)

쿼리 목적: 각 제품 카테고리별 총 판매 금액을 계산하고 싶습니다.

SQL 쿼리

SELECT ProductCategory, SUM(SaleAmount) OVER (PARTITION BY ProductCategory)
FROM `sales_data`;
  • 이 쿼리는 sales_data 테이블에서 각 ProductCategory (제품 카테고리)에 따라 SaleAmount (판매 금액)의 합계를 계산합니다.
  • PARTITION BY ProductCategoryProductCategory 값이 같은 행들을 그룹화하고, 이 그룹 내에서 SaleAmount의 합계를 계산합니다.
  • 결과적으로, 이 쿼리는 각 제품 카테고리별로 총 판매 금액을 보여주는 데이터를 제공합니다. 예를 들어, 전자제품 카테고리의 총 판매 금액, 가구 카테고리의 총 판매 금액 등을 확인할 수 있습니다.

WITH 절 (Common Table Expressions, CTE): 복잡한 쿼리를 간소화합니다.

   WITH subquery AS (
     SELECT column1, column2
     FROM `your_dataset.your_table`
   )
   SELECT column1
   FROM subquery;

INSERT 쿼리: 새로운 데이터를 테이블에 삽입합니다.

   INSERT INTO `your_dataset.your_table` (column1, column2)
   VALUES (value1, value2);

UPDATE 쿼리: 기존 행의 데이터를 수정합니다.

   UPDATE `your_dataset.your_table`
   SET column1 = value1
   WHERE condition;

DELETE 쿼리: 조건에 맞는 데이터를 테이블에서 삭제합니다.

   DELETE FROM `your_dataset.your_table`
   WHERE condition;

이러한 쿼리들은 데이터 분석 및 관리에 있어서 기본적이면서도 중요한 역할을 합니다. 빅쿼리에서 사용하기 전에 자신의 데이터셋과 테이블 이름으로 적절히 대체하여 사용하시면 됩니다.

8. CAST 함수

CAST 함수는 한 데이터 타입을 다른 데이터 타입으로 변환하는 데 사용됩니다. 이는 데이터 형식을 일치시키거나, 특정 형식으로 데이터를 출력할 필요가 있을 때 유용합니다.

SELECT CAST(column_name AS data_type)
FROM `your_dataset.your_table`;

예를 들어, 문자열을 정수로 변환하거나 날짜 형식을 변경하는 데 CAST를 사용할 수 있습니다.

SELECT CAST('123' AS INT64) AS number;
SELECT CAST(date_column AS STRING) AS date_string;

9. SUBSTR 함수

SUBSTR 함수는 문자열에서 특정 부분을 추출하는 데 사용됩니다. 이 함수는 문자열, 시작 위치, 그리고 선택적으로 추출할 길이를 인자로 받습니다.

SELECT SUBSTR(column_name, start_position, [length])
FROM `your_dataset.your_table`;

예를 들어, 문자열의 처음 5자를 가져오거나, 3번째 문자부터 시작하여 4자를 추출할 수 있습니다.

SELECT SUBSTR('Hello World', 1, 5); -- 결과: 'Hello'
SELECT SUBSTR('Hello World', 3, 4); -- 결과: 'llo '

10. CASE WHEN...END 구문

CASE WHEN...END 구문은 SQL의 조건부 로직을 처리하는 데 사용됩니다. 이를 통해 값이나 조건에 따라 다른 결과를 반환할 수 있습니다.

SELECT 
    CASE 
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE default_result
    END AS column_alias
FROM `your_dataset.your_table`;

예를 들어, 특정 값에 따라 다른 카테고리를 할당할 수 있습니다.

SELECT 
    CASE 
        WHEN score >= 90 THEN 'A'
        WHEN score >= 80 THEN 'B'
        WHEN score >= 70 THEN 'C'
        ELSE 'D'
    END AS grade
FROM `your_dataset.your_table`;
반응형

댓글