View Categories

자연어를 SQL로 변환: Nova AI는 어떻게 질문을 데이터베이스 쿼리로 바꾸는가?

AI 기반

Nova AI ➤ 데이터베이스

Nova AI Nova AI
쿼리 스트림 쿼리 스트림
데이터베이스 데이터베이스
✓ 텍스트를 SQL로 변환
✓ 10개의 방언
✓ 스키마 검증됨

Query Streams의 Nova AI Nova는 일반 영어 질문을 10가지 데이터베이스 엔진(PostgreSQL, MySQL, SQL Server, Oracle, Snowflake, BigQuery 등)에서 검증된 특정 언어 구문을 사용한 SQL 쿼리로 변환합니다. 예를 들어 "지난 분기 지역별 총 매출을 보여주세요"라고 입력하면 Nova는 PostgreSQL, MySQL, SQL Server, Oracle, Snowflake, BigQuery 등 지원되는 모든 엔진에 맞춰 적절한 JOIN, 집계, 날짜 함수, 특정 언어 구문을 포함한 정확한 SQL 쿼리를 생성합니다. 모든 쿼리는 실행 전에 스키마 검색, 열 검증, 조인 경로 추적, 구문 검증의 4단계 검증 과정을 거칩니다. 이러한 검증 과정을 통해 Nova는 일반적인 테이블 이름 추측 챗봇과 달리 실제 운영 환경에서 사용할 수 있는 수준의 텍스트-SQL 변환 시스템을 구축할 수 있습니다. 아래는 Nova가 점점 더 복잡해지는 자연어 질문을 정확한 SQL로 변환하는 다섯 가지 실제 사례입니다. 무료로 사용해 보세요 — 신용카드가 필요하지 않습니다.

자연어가 SQL이 되는 방법
질문부터 검증된 결과까지 5단계
질문
"매출액 기준 상위 10개 제품"
스키마 조회
테이블, 열, 외래 키
SQL 생성
방언별 쿼리
확인
구문 및 스키마 검사
결과
데이터 그리드 또는 차트
1

Simple Filter: 일반 영어를 WHERE 절로 변환

가장 일반적인 텍스트-SQL 패턴입니다. Nova는 "캘리포니아에서"를 올바른 열과 값으로 매핑합니다.

Nova AI
Nova
포스트그레이SQL — crm_prod
캘리포니아에 거주하는 모든 활성 고객을 보여주세요.
사용자
Nova
"활성 고객"→상태가 '활성'인 경우
캘리포니아 출신→그리고 주(state)가 'CA'인 경우
복사 실행
선택 회사명, 연락처 이메일, 도시, 주, 설립일
FROM 공개 고객
어디 상태 = '활동적인'
  AND 상태 = 'CA'
주문 기준 회사명
312행 x 5열 · 45ms
회사명도시상태
알파인 테크샌프란시스코캘리포니아
베이 애널리틱스오클랜드캘리포니아
클라우드브리지 주식회사산호세캘리포니아
+ 309개 행 더 보기 · 확장
설립하다 활성 고객 312명 캘리포니아에서. 노바는 다음을 감지했습니다. 상태 컬럼 프로파일링에서 두 글자 약어(예: "캘리포니아"가 아닌 "CA")를 사용합니다. 도시별로 필터링하거나 내보내시겠습니까?
데이터에 관한 모든 것을 노바에게 물어보세요…
2

집계: "총계"와 "기준"이 합계 + 그룹화로 변경됨

Nova는 "총계", "평균", "개수"와 같은 단어에서 집계 의도를, "카테고리별"에서 그룹화 의도를 인식합니다.

Nova AI
Nova
MySQL — 전자상거래
제품 카테고리별 총 매출액 (매출액이 높은 순으로 정렬)
사용자
Nova
총 수익→합계(oi.quantity * oi.unit_price)
제품 카테고리별→p.category별로 그룹화
"높은 값부터 정렬"→총매출액 내림차순 정렬
복사 실행
선택 p.카테고리,
       SUM(oi.quantity * oi.unit_price) AS 총 수익,
       COUNT(DISTINCT o.order_id) AS 주문 수
FROM 제품 p
JOIN 주문 항목 oi 켜기 p.product_id = oi.product_id
JOIN 주문 o 켜기 oi.order_id = o.order_id
그룹 기준 p.카테고리
주문 기준 총수익 DESC
8행 x 3열 · 92ms
범주총수익주문 수
전자제품$1,284,52012,840
소프트웨어$892,3408,920
서비스$654,1003,270
+ 5개 카테고리 추가 · 확장
전자제품 12,840건의 주문에서 128만 달러의 리드를 확보했습니다. Nova는 3개의 테이블을 자동으로 조인했습니다. 제품 ID 그리고 주문 ID 외래 키가 필요하신가요? 막대 그래프를 원하시나요, 아니면 특정 범주를 자세히 살펴보고 싶으신가요?
데이터에 관한 모든 것을 노바에게 물어보세요…
3

날짜 범위: "지난 분기"부터 방언별 날짜 함수까지

자연어 날짜 표현은 데이터베이스 엔진에 따라 서로 다른 SQL로 매핑됩니다. Nova는 이를 자동으로 처리합니다.

Nova AI
Nova
SQL 서버 — finance_db
지난 분기 월별 청구서 총액
사용자
Nova
SQL Server 방언이 감지되었습니다. DATEPART, DATEADD, TOP 구문을 사용합니다.
복사 실행
선택
  날짜 부분(월, 송장 날짜) AS 송장월,
  날짜 이름(월, 송장 날짜) AS 월_이름,
  SUM(총액) AS 월별 합계,
  COUNT(*) AS 송장 개수
FROM dbo.인보이스
어디 송장 날짜 >= 날짜 추가(4분의 1, 날짜 차이(4분의 1, 0, 겟데이트()) - 1, 0)
  AND 송장 날짜 < 날짜 추가(4분의 1, 날짜 차이(4분의 1, 0, 겟데이트()), 0)
그룹 기준 날짜 부분(월, 송장 날짜)
         날짜 이름(월, 송장 날짜)
주문 기준 송장_월
3행 x 4열 · 38ms
월 이름월별 합계송장 개수송장_월
1월$148,3202341
2월$162,8902512
3월$157,4402483
2월은 가장 높은 순위를 기록했습니다. $162,890참고: 이것은 SQL Server노바는 사용했다. 날짜 부분 그리고 날짜 추가 PostgreSQL 대신에 날짜_자르기Postgres에서 동일한 질문을 하면 다르지만 동일한 내용의 SQL이 생성됩니다.
데이터에 관한 모든 것을 노바에게 물어보세요…
4

복잡한 쿼리: 서브쿼리와 윈도우 함수를 한 문장으로 이해하기

고급 문제는 CTE, 서브쿼리 또는 윈도우 함수를 사용한 다단계 SQL을 생성하지만 SQL 지식은 필요하지 않습니다.

Nova AI
Nova
스노우플레이크 — analytics_wh
올해 평균보다 더 많은 금액을 지출한 고객들을 총 지출액 기준으로 순위별로 정리했습니다.
사용자
Nova
“평균 이상”→총 지출액이 (하위 쿼리)보다 큰 경우
"올해"→WHERE YEAR(order_date) = 2026
"총 지출액 기준 순위"→총 지출액을 기준으로 내림차순 정렬
복사 실행 저장
와 함께 고객 합계 AS (
  선택 c.고객 ID, c.회사명,
         SUM(o.total_amount) AS 총 지출
  FROM 분석.고객 c
  JOIN 분석.주문 o 켜기 c.customer_id = o.customer_id
  어디 년도(o.order_date) = 2026
  그룹 기준 c.customer_id, c.company_name)
선택 회사명, 총 지출액,
       계급() OVER (주문 기준 총 지출 DESC) AS spend_rank
FROM 고객 합계
어디 총 지출액 > (선택 평균(총 지출액) FROM 고객 합계)
주문 기준 총 지출 DESC
47행 x 3열 · 210ms
회사명총 지출spend_rank
글로벌테크 솔루션$428,9001
메리디안 주식회사$312,4502
에이펙스 제조$289,1003
+ 44줄 더 보기 · 확장
47명의 고객 평균 지출액인 24,680달러를 초과했습니다. Nova는 CTE를 사용했습니다. 계급() 윈도우 함수와 서브쿼리 필터. Snowflake 관련 대문자 스키마 참조(분석.고객창고 명칭과 일치시키세요.
데이터에 관한 모든 것을 노바에게 물어보세요…
5

애매한 질문: 노바는 추측하기 전에 먼저 질문을 던진다

질문이 여러 테이블이나 열에 해당될 수 있는 경우, Nova는 추측을 하는 대신 명확한 설명을 요청합니다.

Nova AI
Nova
PostgreSQL — 멀티테넌트
모든 사용자를 보여주세요
사용자
Nova
나는 찾았다 3개의 테이블 "사용자"와 일치할 수 있는 항목:
1인증 사용자 — 1,240개 행 (이메일, 마지막 로그인 시간, 역할이 포함된 로그인 계정)
2공개 앱 사용자 — 8,920개 행(이름, 플랜, 조직 ID가 포함된 앱 프로필)
3레거시.사용자_계정 — 450개 행 (더 이상 사용되지 않으며, auth.users로 이전됨)
어떤 테이블을 말씀하시는 건가요? 아니면 참여해야 하나요? 인증 사용자 와 함께 앱 사용자 전체적인 상황을 파악하기 위해서요?
auth.users와 app_users를 결합합니다.
사용자
Nova
1,240행 x 5열 · 67ms
이메일전체 이름계획
[email protected]제임스 첸엔터프라이즈
[email protected]사라 파크찬성
[email protected]마이크 토레스찬성
+ 1,237개 행 더 보기 · 확장
다음을 통해 가입함 auth.users.id = app_users.auth_user_id. 모두 1,240개 계정 로그인 정보와 프로필 데이터가 결합된 결과가 반환됩니다.
데이터에 관한 모든 것을 노바에게 물어보세요…

이 예시들이 보여주는 것은 자연어에서 SQL로의 변환에 관한 것입니다.

위의 각 데모는 Nova가 자동으로 처리하는 다양한 자연어-SQL 변환 패턴을 보여줍니다. 데모 1은 가장 간단한 경우인 필터 구문("캘리포니아에서")을 WHERE 절에 매핑하는 것을 보여줍니다. 이것이 간단하지 않은 이유는 Nova가 다음을 감지했기 때문입니다. 상태 해당 열은 전체 주 이름이 아닌 두 글자 약어를 사용합니다. 이는 스키마 검색 중 열 프로파일링을 통해 파악한 세부 정보입니다. 단순한 텍스트-SQL 변환 시스템은 다음과 같은 결과를 생성할 것입니다. WHERE state = '캘리포니아' 그리고 결과가 하나도 나오지 않습니다.

데모 2는 집계 기능까지 확장 가능합니다. "총계", "평균", "개수"와 같은 단어는 각각 SUM, AVG, COUNT 함수를 호출합니다. "카테고리별"이라는 문구는 GROUP BY에, "가장 높은 값부터 정렬"은 ORDER BY DESC에 대응됩니다. Nova는 또한 이 질문에 답하려면 products, order_items, orders라는 세 테이블을 조인해야 한다는 것을 자동으로 감지하고, 스키마에서 외래 키 관계를 추적하여 조인을 수행했습니다. 이러한 유형의 쿼리는 영어로 설명하는 데는 30초밖에 걸리지 않지만, 특히 익숙하지 않은 테이블 구조의 경우 SQL로 정확하게 작성하는 데는 몇 분이 걸립니다.

데모 3은 방언 인식을 강조합니다. "지난 분기"라는 표현은 데이터베이스 엔진에 따라 완전히 다른 SQL 쿼리로 매핑되는 날짜 개념입니다. SQL Server에서는 다음과 같이 됩니다. SQL Server에서는 다음과 같습니다. DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()) - 1, 0)PostgreSQL에서는 동일한 의도를 실행하면 다음과 같은 결과가 나타납니다. date_trunc('분기', 현재 날짜 - 간격 '3개월')Snowflake에서는 다음과 같이 사용합니다. DATEADD('quarter', -1, DATE_TRUNC('quarter', CURRENT_DATE()))Nova는 연결된 데이터베이스 유형에 따라 올바른 변형을 자동으로 생성합니다. 이러한 방언별 생성 기능은 일반적인 AI 챗봇과 실제 운영 환경에서 사용되는 텍스트-SQL 변환 도구를 구분하는 핵심 요소입니다.

데모 4는 Nova가 CTE(공통 테이블 표현식), 평균 계산을 위한 서브쿼리, 그리고 RANK() 윈도우 함수를 모두 하나의 영어 문장에서 생성하여 고급 분석 질문을 처리하는 방식을 보여줍니다. 데모 5는 질문이 모호할 때 어떤 일이 발생하는지 보여줍니다. Nova는 추측하여 잘못된 테이블을 쿼리하는 대신, 여러 옵션을 제시하고 사용자가 선택하도록 합니다. 이러한 명확화 단계를 통해 AI 기반 SQL에서 가장 흔히 발생하는 오류, 즉 잘못된 테이블 또는 열 이름으로 인해 오류가 발생하거나 잘못된 결과가 나오는 것을 방지합니다.

왜 검증이 생성보다 더 중요한가

자연어에서 SQL을 생성하는 것은 문제의 절반에 불과합니다. 더 어려운 절반은 생성된 SQL이 특정 데이터베이스에 실제로 적합한지 확인하는 것입니다. ChatGPT나 Claude와 같은 범용 AI 모델은 그럴듯해 보이는 SQL을 작성할 수 있지만, 실제 테이블 이름, 열 유형 또는 관계에 대한 정보는 없습니다. 그저 추측할 뿐입니다. 그리고 추측은 오류를 발생시키며, 쿼리는 실행되지만 잘못된 열을 기준으로 조인하거나 예상과 다른 값을 사용하는 열을 필터링하여 잘못된 결과를 반환할 수 있습니다.

Nova는 모든 쿼리가 데이터베이스에 도달하기 전에 실행되는 4단계 유효성 검사 파이프라인을 통해 이 문제를 해결합니다. 첫째, 실제 스키마(모든 테이블, 열, 데이터 유형 및 외래 키 관계)를 파악합니다. 둘째, 열 값을 프로파일링하여 특정 값이 특정 값인지 여부와 같은 사항을 파악합니다. 상태 "CA" 또는 "캘리포니아"를 사용하는지 여부 상태 첫째, 0/1 또는 "활성"/"비활성"을 사용하고 실제 열거형 값이 무엇인지 확인합니다. 둘째, 열 이름 유사성을 추측하는 대신 실제 외래 키를 사용하여 조인 경로를 추적합니다. 셋째, sqlglot을 통한 구문 분석과 rapidfuzz를 사용한 60% 임계값의 열 유사 매칭을 통해 최종 SQL의 유효성을 검사합니다. 참조된 열이 존재하지 않거나 철자가 틀린 경우 Nova는 실행 전에 이를 감지하여 자동으로 수정하거나 사용자에게 설명을 요청합니다.

텍스트를 SQL로 변환하는 데 지원되는 데이터베이스

Nova의 자연어-SQL 엔진은 PostgreSQL, MySQL, SQL Server(Microsoft), MariaDB, SQLite, Oracle, Snowflake, Google BigQuery, DuckDB, Microsoft Access 등 10개의 데이터베이스 플랫폼을 지원합니다. 또한 Stripe, Shopify, HubSpot, Google Analytics 4, Google Search Console, ShipStation 등 6개의 API 커넥터를 지원하며, 해당 데이터를 표준 SQL로 쿼리할 수 있는 로컬 DuckDB 테이블에 동기화합니다. 각 데이터베이스는 날짜, 문자열 함수, 식별자, 페이지네이션, NULL 처리 등에 대해 서로 다른 구문을 사용하는 고유한 SQL 방언을 가지고 있습니다. Nova는 연결된 데이터 소스에 따라 올바른 방언을 자동으로 생성하므로 사용자는 이에 대해 신경 쓸 필요가 없습니다. LIMIT vs 맨 위백틱 인용과 대괄호 인용의 차이점, 또는 엔벨로프 vs 합체하다심지어 대화 도중에 데이터베이스를 전환할 수도 있으며, Nova는 그에 맞춰 SQL 출력을 조정합니다.

자주 묻는 질문

자연어는 SQL과 어떤 관계가 있나요?
자연어-SQL 변환(NL-to-SQL 또는 텍스트-to-SQL)은 일반 영어 질문을 구조화된 SQL 데이터베이스 쿼리로 변환하는 과정입니다. AI 모델은 질문의 의도를 분석하고 데이터베이스 스키마에 매핑하여 SELECT, WHERE, JOIN, GROUP BY, ORDER BY 절을 포함한 올바른 SQL 구문을 생성합니다. Nova는 여기서 한 단계 더 나아가 실행 전에 모든 쿼리를 실제 스키마에 대해 검증합니다.
AI가 생성한 SQL의 정확도는 어느 정도입니까?
정확도는 AI가 실제 데이터베이스 스키마에 접근할 수 있는지 여부에 전적으로 달려 있습니다. ChatGPT와 같은 일반적인 챗봇은 테이블 이름을 추측하고 존재하지 않는 열을 만들어내는 경우가 빈번합니다. Nova AI는 쿼리가 데이터베이스에 도달하기 전에 4단계 파이프라인을 통해 실제 테이블 이름, 열 유형, 데이터 값 및 외래 키 관계를 기준으로 모든 쿼리를 검증합니다.
인공지능은 JOIN과 서브쿼리가 포함된 복잡한 SQL을 처리할 수 있을까요?
네. Nova는 스키마의 외래 키 관계, 분석 쿼리를 위한 CTE(공통 테이블 표현식), RANK() 및 ROW_NUMBER()와 같은 윈도우 함수, 비교 필터링을 위한 중첩 서브쿼리를 추적하여 여러 테이블 조인을 생성합니다. 자연어 문장 하나만으로도 여러 조인과 집계가 포함된 15줄짜리 SQL 쿼리가 생성될 수 있습니다.
인공지능이 내 데이터베이스 구조를 알고 있나요?
네. Nova는 자체 네트워크에서 실행되는 경량 서비스인 쿼리 스트림 에이전트를 통해 데이터베이스에 연결합니다. 에이전트는 모든 테이블 이름, 열 유형, 외래 키 제약 조건 및 데이터 프로필을 포함한 실제 스키마를 읽습니다. Nova는 이 메타데이터를 사용하여 정확한 쿼리를 생성합니다. 실제 데이터는 네트워크를 벗어나지 않으며, 스키마 메타데이터만 AI와 공유됩니다.
자연어 쿼리를 지원하는 데이터베이스는 무엇인가요?
Nova는 PostgreSQL, MySQL, SQL Server, MariaDB, SQLite, Oracle, Snowflake, BigQuery, DuckDB, Microsoft Access 등 10가지 데이터베이스를 지원합니다. 또한 Stripe, Shopify, HubSpot, Google Analytics 4, Google Search Console, ShipStation 등 6가지 API 플랫폼의 데이터를 로컬 DuckDB 테이블에 동기화하여 쿼리할 수 있습니다. SQL 방언은 각 엔진에 맞게 자동으로 매칭됩니다.
Nova가 생성하는 SQL을 수정할 수 있나요?
예. 생성된 모든 쿼리는 전체 구문 강조 표시와 복사, 실행, 저장, 확장 버튼을 통해 확인할 수 있습니다. 실행하기 전에 SQL을 수정하거나, 수정된 쿼리를 다시 실행하거나, Microsoft Excel, Google Sheets 또는 웹 포털에서 반복적으로 사용할 수 있도록 쿼리 라이브러리에 저장할 수 있습니다. 저장된 쿼리는 SQL 지식이 없어도 팀에서 실행할 수 있는 재사용 가능한 자산이 됩니다.

자연어 데이터베이스 쿼리 시작하기

Nova를 사용하여 자연어를 SQL로 변환하는 설정은 5분도 채 걸리지 않습니다. 무료 계정을 만드세요. my.querystreams.com데이터베이스 접근 권한이 있는 모든 시스템에 Query Streams Agent를 설치하고 데이터 소스를 추가한 다음 쿼리를 시작하세요. Agent는 암호화된 아웃바운드 전용 연결을 생성하므로 방화벽 변경, VPN 터널 또는 인바운드 포트 설정이 필요하지 않습니다. Windows, macOS 및 Linux에서 실행되고 자동으로 업데이트되며 여러 데이터베이스 연결을 동시에 지원합니다.

AI 크레딧은 다음을 통해 이용 가능합니다. 월간 구독 또는 일회성 구매Nova는 고급 AI 기술을 기반으로 하며, 쿼리 스트림은 각 쿼리에 가장 적합한 공급자를 자동으로 선택하여 최상의 결과를 제공합니다. Nova에서 생성된 모든 쿼리는 쿼리 라이브러리에 저장하고 팀원들과 공유하여 실행할 수 있습니다. Microsoft Excel 애드인 또는 Google Sheets 애드온 — 상대방은 SQL 지식이 필요하지 않습니다. Nova의 모든 기능에 대한 자세한 내용은 다음에서 확인하세요. BI 및 AI 데이터 분석 기능 페이지.

메타 설명: 자연어를 SQL로 변환 — 일반 영어로 질문을 입력하면 PostgreSQL, MySQL, SQL Server, Snowflake 및 6개 이상의 데이터베이스에 대해 유효성이 검증된 특정 방언 기반 SQL 쿼리를 얻을 수 있습니다. 5가지 실제 예시를 확인하세요.

범주: Nova AI
태그: 자연어-SQL 변환, 텍스트-SQL 변환, AI SQL 생성기, NL to SQL, AI 데이터베이스 쿼리, Nova AI, 쿼리 스트림, PostgreSQL, MySQL, SQL Server, Snowflake, BigQuery, AI 쿼리 빌더, 자연어 데이터베이스 쿼리, 텍스트-SQL 변환기

저자 소개:
Query Streams 팀은 데이터 관리, 분석 및 보안 소프트웨어 개발 분야에서 25년 이상의 경력을 보유한 숙련된 데이터베이스 전문가, 네트워크 보안 전문가 및 엔터프라이즈 네트워킹 전문가로 구성되어 있습니다.

Updated on 2026년 6월 3일

Powered by BetterDocs