SQL 가이드
D.Hub는 분석 데이터베이스 위에서 표준 SQL을 지원합니다. 파이프라인의 SQL 노드, 데이터셋 탐색, 대시보드 위젯에서 SQL 문법을 사용할 수 있습니다.
SQL 사용 위치
| 위치 | 설명 | 제한 |
|---|---|---|
| 파이프라인 SQL 노드 | 코드 노드에서 SQL 쿼리로 데이터 변환 | SELECT 문만 허용 |
| 데이터셋 탐색 | 데이터 탭에서 직접 쿼리 실행 | SELECT 문만 허용 |
| 대시보드 위젯 | Query 모드에서 차트 데이터 조회 | SELECT 문만 허용 |
기본 SQL 문법
SELECT와 필터링
SELECT id, name, category, price
FROM products
WHERE category = 'electronics'
AND price > 10000
ORDER BY price DESC
LIMIT 100
GROUP BY 집계
SELECT
region,
COUNT(*) AS total_count,
SUM(amount) AS total_amount,
AVG(amount) AS avg_amount
FROM transactions
GROUP BY region
HAVING total_amount > 1000000
ORDER BY total_amount DESC
JOIN
SELECT
o.order_id,
o.order_date,
c.name AS customer_name,
o.total_price
FROM orders AS o
LEFT JOIN customers AS c ON o.customer_id = c.id
WHERE o.order_date >= '2026-01-01'
서브쿼리
SELECT *
FROM sensors
WHERE station_id IN (
SELECT id
FROM stations
WHERE region = 'Seoul'
)
파이프라인에서 SQL 사용
파이프라인의 SQL 노드에서는 이전 노드로부터 전달된 데이터를 테이블처럼 조회할 수 있습니다.
- 테이블 이름: 입력 연결에 설정한 별칭(alias)을 테이블 이름으로 사용
- 결과 전달:
SELECT쿼리 결과가 다음 노드의 입력으로 전달
SELECT
id,
name,
created_at
FROM input
WHERE status = 'active'
ORDER BY created_at DESC
대시보드에서 SQL 사용
대시보드 위젯의 Query 모드에서 SQL을 직접 입력하여 차트 데이터를 조회합니다.
SELECT
toStartOfMonth(event_date) AS month,
COUNT(*) AS event_count
FROM events
GROUP BY month
ORDER BY month
Simple 모드
SQL에 익숙하지 않다면 대시보드의 Simple 모드에서 드래그 앤 드롭으로 차트를 구성할 수 있습니다.
자주 쓰는 함수
날짜/시간 · 집계 · 문자열 · 배열 · JSON 함수의 전체 목록과 예시는 SQL 함수 레퍼런스에 정리되어 있습니다.
성능 최적화 팁
분석 데이터베이스 특성
D.Hub의 분석 엔진은 컬럼 지향 OLAP 데이터베이스로, 대량 데이터의 집계 쿼리에 최적화되어 있습니다.
- 필요한 컬럼만 SELECT:
SELECT *대신 필요한 컬럼을 명시하면 쿼리 성능이 크게 향상됩니다. - LIMIT 사용: 탐색 목적의 쿼리에는 항상
LIMIT을 추가하세요. - WHERE 절 활용: 필터 조건을 최대한 앞에 두어 불필요한 데이터 스캔을 줄이세요.
- 적절한 집계 함수 선택: 정확한 고유값이 불필요하면
uniqExact대신uniq를 사용하세요.