본문 바로가기

Skills/SQL

SQL을 활용한 임시 테이블 만들기

반응형

SQL에서 자주 사용되는 CTE(Common Table Expression)를 활용한 간단한 쿼리 작성 방법에 대해 알아보겠습니다. 이를 통해 데이터를 DB 테이블에 직접 ingest 하지 않고 테이블을 사용할 수 있습니다. 데이터베이스에 데이터를 저장하지 않고 메모리에서 처리하기 때문에, 빠르게 결과를 얻을 수 있습니다.

첫 번째 예제는 컬럼이 하나인 임시 테이블을 만드는 경우입니다.

WITH brand_tbl(keyword) AS (
    VALUES
        'Nike',
        'Adidas',
        'Puma',
        'Under Armour',
        'New Balance'
)
select
    keyword
from
    brand_tbl

위 쿼리는 'brand_tbl'이라는 임시 테이블을 생성하고, 여기에 스포츠 브랜드 이름을 추가했습니다. 이렇게 임시 테이블을 만들고 다른 테이블들과 조인하면 됩니다.

두 번째 예제는 컬럼이 두 개 이상인 임시 테이블을 만드는 경우입니다.

with account(employee_name, department) as (
    values
        ('John Smith', 'Development'),
        ('Jane Doe', 'Design'),
        ('Michael Johnson', 'Marketing')
)
select
    employee_name,
    department
from
    account

위 쿼리는 'account'라는 임시 테이블을 생성하고, 여기에 직원 이름과 부서 정보를 추가했습니다. 첫 번째 쿼리와는 format이 약간 다릅니다. values 아래에 값들이 들어가고 앞 뒤에 괄호를 추가해 줍니다.

CTE를 사용하면 복잡한 쿼리를 단순화하고 가독성을 높일 뿐만 아니라, 빠르게 결과를 얻고 리소스를 효율적으로 사용할 수 있습니다. SQL 작성에 있어서 CTE를 적극 활용하시면 더욱 효과적인 데이터 분석을 진행할 수 있을 것입니다. 

반응형