◯ 무료: 하루 5회 • 초기화까지 16h 13m
개발 & 기술

SQL 쿼리 생성기

필요한 내용을 평이한 영어로 설명하면 PostgreSQL, MySQL, SQLite, SQL Server, BigQuery 또는 Snowflake용으로 정확하고 가독성 좋은 SQL 쿼리를 제공합니다 — 스키마를 고려하고, 각 절을 설명하며 인덱스와 성능에 대한 메모도 포함합니다.

자세히 알아보기

SQL Query Generator는 '2025년 국가별 월별 매출, 주문이 3건 이상인 고객만'과 같은 질문을 실행 중인 데이터베이스에 맞는 쿼리로 변환합니다: PostgreSQL, MySQL 및 MariaDB, SQLite, SQL Server, BigQuery 또는 Snowflake. 테이블과 컬럼을 붙여넣으면 쿼리는 정확히 해당 이름을 사용하고, 스키마를 비워두면 가정한 내용을 명시합니다. 스타일(읽기 쉬운 CTE, 간결, 혹은 윈도우 함수가 포함된 분석형)을 선택하고 설명 수준을 지정하면, 모든 답변은 결과 형태와 성능을 높이는 인덱스를 포함합니다. 요청하지 않는 한 파괴적인 문장은 절대 생성하지 않습니다.

0 / 4000
0 / 10000

✓ 무료 사용 — 가입도, 신용카드도 필요 없습니다.

모든 사용자

국가별 월별 매출, 활성 고객만

HAVING 스타일 고객 필터가 적용된 재무 보고서

입력 및 출력 미리보기

입력

쿼리의 반환 결과는 무엇인가요?
Monthly revenue per country for 2025, counting only customers who placed more than 3 orders in 2025. Sort by month, then revenue descending.
테이블 및 컬럼 (선택 사항)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, country text, signup_at timestamp)
SQL 방언
PostgreSQL
쿼리 스타일
읽기 쉬운 (CTE, 한 줄에 하나씩)
설명
간단히

출력 (발췌)

```sql
WITH active_customers AS (
  SELECT o.customer_id
  FROM orders AS o
  WHERE o.created_at >= DATE '2025-01-01'
    AND o.created_at <  DATE '2026-01-01'
  GROUP BY o.customer_id
  HAVING COUNT(*) > 3
)
SELECT
  DATE_TRUNC('month', o.created_at)::date AS month,
  c.country,
  SUM(o.total_cents) / 100.0            AS revenue
FROM orders AS o
JOIN active_customers AS a ON a.customer_id = o.customer_id
JOIN customers        AS c ON c.id = o.customer_id
WHERE o.created_at >= DATE '2025-01-01'
  AND o.created_at <  DATE '2026-01-01'
GROUP BY 1, 2
ORDER BY month, revenue DESC;
```

**제공된 스키마 사용.**

CTE는 2025년에 주문이 3개 이상인 고객을 찾습니다; 메인 쿼리는 해당 고객의 주문만 유지하고, 각 주문을 월 단위로 절단한 뒤 월별 및 국가별 매출을 합산합니다. 날짜 범위는 반닫힌 구간이므로 12월 31일은 한 번만 계산됩니다…
개발자

고객당 최신 주문

상관 서브쿼리를 대체하는 윈도우 함수 쿼리

입력 및 출력 미리보기

입력

쿼리의 반환 결과는 무엇인가요?
For every customer, their most recent order with its total and date.
테이블 및 컬럼 (선택 사항)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, email text)
SQL 방언
MySQL / MariaDB
쿼리 스타일
분석형 (필요한 경우 윈도우 함수)
설명
자세히 (절별)

출력 (발췌)

```sql
WITH ranked AS (
  SELECT
    o.customer_id,
    o.id          AS order_id,
    o.total_cents,
    o.created_at,
    ROW_NUMBER() OVER (PARTITION BY o.customer_id ORDER BY o.created_at DESC, o.id DESC) AS rn
  FROM orders AS o
)
SELECT c.id AS customer_id, c.email, r.order_id, r.total_cents / 100.0 AS total, r.created_at
FROM customers AS c
JOIN ranked AS r ON r.customer_id = c.id AND r.rn = 1
ORDER BY r.created_at DESC;
```

**제공된 스키마 사용.**

| 절 | 수행 내용 |
|---|---|
| `ROW_NUMBER() OVER (PARTITION BY … ORDER BY created_at DESC, id DESC)` | 각 고객의 주문을 최신 순으로 번호 매깁니다; id를 기준으로 동점자를 구분해 결과가 결정적이게 합니다 |
| `JOIN ranked … AND r.rn = 1` | 고객당 정확히 한 행만 유지합니다 |…

SQL 쿼리 생성기 결과가 여기에 표시됩니다

주석이 달린 깔끔한 코드 블록과 변경 사항에 대한 간단한 설명을 받게 됩니다.

사용 방법 SQL 쿼리 생성기

  1. 동료에게 물어볼 때와 같이 질문을 작성하세요: 어떤 행, 어떤 필터, 어떤 그룹화, 어떤 정렬.
  2. 테이블과 컬럼이 있으면 붙여넣으세요 — 한 줄에 하나의 테이블과 괄호 안에 컬럼을 적습니다. 쿼리는 실제 이름을 사용하므로 편집이 필요 없습니다.
  3. 사용 중인 방언을 선택하세요; 날짜 함수, LIMIT와 TOP, 인용 방식 등이 PostgreSQL, MySQL, SQLite, SQL Server, BigQuery, Snowflake마다 다릅니다.
  4. 'Detailed' 설명은 학습하거나 다른 사람의 요청을 검토할 때 선택하고, 'Query only'는 원하는 것이 명확할 때 선택하세요.

사용 사례

1

데이터 팀을 기다리지 않고 분석가의 비즈니스 질문에 답변하기

2

보고 요청을 데이터 웨어하우스의 실제 스키마를 반영하는 쿼리로 변환하기

3

느린 쿼리를 필요한 인덱스를 포함한 가독성 높은 CTE 형태로 재작성하기

4

마이그레이션 시 MySQL 쿼리를 PostgreSQL 또는 BigQuery로 변환하기

5

UPDATE 또는 DELETE가 영향을 미칠 내용을 미리 확인할 SELECT 문 초안 만들기

최고의 결과를 위한 팁

  • 스키마에 컬럼 타입을 포함하세요 (created_at timestamp, total_cents integer) 그리고 쿼리는 날짜와 금액을 올바르게 처리합니다.
  • 'only'와 'at least'를 명시적으로 표현하세요 — '고객이 주문 3개 이상'은 WHERE가 아니라 HAVING 절이 됩니다.
  • 대시보드에서는 분석 스타일을 요청하세요: 윈도우 함수는 보고서를 느리게 만드는 자체 조인을 피합니다.
  • 성능 섹션을 읽으세요; 전체 테이블 스캔을 조회로 바꾸는 인덱스를 명시합니다.

자주 묻는 질문

지원되는 데이터베이스는 무엇인가요?

PostgreSQL, MySQL 및 MariaDB, SQLite, SQL Server (T-SQL), BigQuery, Snowflake를 지원합니다. 쿼리는 해당 방언의 고유 함수와 구문을 사용합니다 — 날짜 절단, LIMIT 또는 TOP, 인용 방식 및 문자열 집계가 모두 다르며, 출력은 선택한 방언에 맞게 작성됩니다.

스키마를 붙여넣어야 하나요?

아니요, 하지만 도움이 됩니다. 스키마가 있으면 쿼리가 정확한 테이블 및 컬럼 이름을 사용하므로 편집이 필요 없습니다. 스키마가 없으면 도구가 최소한의 합리적인 스키마를 가정하고, 설명 위에 모든 가정을 나열하므로 수정할 수 있습니다.

DELETE 또는 UPDATE를 작성하나요?

수정 요청을 명시적으로 할 때만 작성합니다. 그 경우에도 문장을 트랜잭션으로 감싸고, 영향을 받는 행을 미리 확인할 SELECT를 먼저 배치하여 커밋 전에 검토할 수 있습니다.

날짜와 금액을 어떻게 처리하나요?

날짜는 방언 고유의 절단 및 비교 함수를 사용하고, 범위는 반닫힌 구간으로 표시되어 하루가 두 번 계산되지 않도록 합니다. 금액은 정수 센트로 저장되어 최종 나눗셈 전까지 정수 형태를 유지하며, 결과 스키마는 각 컬럼의 단위를 명시합니다.

쿼리가 빠르다고 보장되나요?

우선 정확성을, 그 다음 가독성을 목표로 작성되며, 모든 답변은 성능을 높이는 인덱스와 인덱스 사용을 방해하는 구조를 제시합니다. 스케줄링 전에 실제 데이터 양으로 실행해 보세요 — 데이터베이스만이 통계를 알고 있습니다.

🔒
당신의 개인정보는 보호됩니다

입력한 내용과 결과는 서비스 운영, 악용 방지, 그리고 로그인한 경우 기록 표시를 위해 최대 90일 동안 보관합니다. 처리는 개인정보 처리방침에 명시된 AI 제공업체가 담당합니다. 판매하지 않습니다.

관련 도구

이 에이전트 사용해보기

브랜드 빌더브랜드 이름을 생성하고, 슬로건을 만들고, 브랜드 스토리를 작성하고, 브랜드 가이드라인을 정의합니다.이 에이전트 사용해보기 →

관련 워크플로

긴 형식 비디오 제작아이디어 → 스크립트 → 썸네일 → 메타데이터 업로드를 한 세션에서워크플로 실행 →