CSV에 SQL 질의
SQL over CSV
브라우저에서 CSV·TSV 파일에 SQL을 실행합니다. SELECT·WHERE·GROUP BY/HAVING·ORDER BY·LIMIT·CASE와 두 표 JOIN을 지원하고 문법을 페이지에 적어 두었습니다.
CSV를 놓고 SQL로 질의합니다. 설치할 것도 없고 업로드도 하지 않습니다. 파일을 둘 올리면 JOIN이 됩니다. 지원하는 문법을 화면에 그대로 적어 두었는데, "왜 안 되지"에 대한 답은 오류 메시지보다 그쪽이 빠릅니다.
CSV·TSV 파일을 끌어다 놓기 (여러 개 가능)
이 탭에서 읽습니다. 업로드하지 않습니다. 한글·일본어·중국어·서구권 엑셀이 저장한 파일(CP949, Shift_JIS, GBK, Windows-1252)을 알아봅니다.
SQL
지원하는 문법
SELECT [DISTINCT] 열, 식 [AS 별칭], 표.* , *
FROM 표 [별칭]
[ [INNER|LEFT] JOIN 표 [별칭] ON 조건 ] -- 두 표까지
[WHERE 조건]
[GROUP BY 식, …] [HAVING 조건]
[ORDER BY 식|별칭|번호 [ASC|DESC], …]
[LIMIT n [OFFSET m]]
조건: = <> < <= > >= AND OR NOT IN (…) LIKE '서울%' BETWEEN a AND b IS [NOT] NULL
식: + - * / % ||(문자열 잇기) CASE WHEN … THEN … ELSE … END CAST(x AS INTEGER|REAL|TEXT)
집계: COUNT(*) COUNT(DISTINCT x) SUM AVG MIN MAX GROUP_CONCAT(x, ',')
함수: UPPER LOWER LENGTH TRIM LTRIM RTRIM SUBSTR(s, 시작, 길이) LEFT RIGHT REPLACE INSTR CONCAT
COALESCE IFNULL NULLIF IIF(조건, a, b) ROUND(x, 자리) ABS FLOOR CEIL SQRT POWER MOD TYPEOF
이름: 한글 열 이름 그대로, 띄어쓰기가 있으면 "따옴표"나 `백틱` -- 주석, /* 주석 */NULL은 어떤 비교에서도 참이 되지 않고, LIKE는 대소문자를 가리지 않으며, 0으로 나누면 NULL입니다. 집계 질의에서 GROUP BY에 없는 열은 그룹의 첫 행 값을 씁니다(SQLite와 같음). 서브쿼리와 윈도 함수는 없습니다.
사용 방법
파일을 하나 이상 놓습니다
파일마다 표가 하나씩 생기고 이름은 파일 이름에서 따옵니다. 타이핑하기 불편하면 편집기 위 목록에서 바꾸면 됩니다.
질의를 씁니다
SELECT, WHERE, GROUP BY와 HAVING, ORDER BY, LIMIT, CASE, 그리고 두 표까지의 JOIN을 씁니다. Ctrl+Enter로 실행합니다. 상자 아래 예시 버튼을 누르면 지금 올린 표 이름으로 된 질의가 채워집니다.
오류 위치를 봅니다
질의가 실패하면 파서가 멈춘 행과 열을 알려 줍니다. 실제 실수는 대개 거기서 한 토큰 앞에 있습니다.
결과를 내보냅니다
엑셀에서 열 수 있도록 BOM이 붙은 CSV로, 또는 JSON을 읽는 곳에 넣을 수 있게 JSON으로 내보냅니다.
자주 묻는 질문
서브쿼리와 윈도 함수도 되나요?
안 됩니다. SQLite를 웹어셈블리로 옮긴 것이 아니라 이 사이트를 위해 만든 SQL 부분집합입니다. WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, CASE가 붙은 SELECT와 두 표까지의 JOIN이 전부입니다. 문법 패널이 그 정확한 목록입니다.
자료가 서버로 가나요?
가지 않습니다. 파서와 실행기 모두 이 탭에서 돕니다. 진짜 데이터베이스보다 기능이 적은 이유가 그것이고, 업로드할 수 없는 파일에 쓸 수 있는 이유도 그것입니다.
한글 열 이름을 그대로 쓸 수 있나요?
그대로 쓸 수 있습니다. 이름에 띄어쓰기가 있으면 큰따옴표나 백틱으로 감싸세요.
오류 메시지가 한국어로 나옵니다
질의 엔진의 스물다섯 가지 구문·실행 오류 메시지는 한국어만 있습니다. 각각이 테스트에 그대로 적혀 있기 때문입니다. 편집기 옆의 문법 패널은 두 언어로 적혀 있고 같은 내용을 담고 있습니다.
이 도구로 이어지는 것
SQL 정렬
SQL Formatter
키워드 대소문자·들여쓰기·쉼표 위치를 정해 주요 방언의 SQL을 정렬합니다.
CSV 결합 (VLOOKUP)
CSV Join
키 열을 기준으로 두 표를 내부·왼쪽·오른쪽·외부 결합하고 짝이 없는 행을 보여 줍니다.
CSV 필터·정렬
CSV Filter & Sort
열 조건으로 행을 걸러 내고 여러 키로 정렬하며 남길 열을 고릅니다.
피벗 테이블
Pivot Table
한두 개 열로 행을 묶어 개수·합계·평균·최소·최대·고유값으로 집계합니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
차트 만들기
Quick Chart
표를 막대·선·영역·원·산점도 차트로 그리고, 눈금과 범례를 갖춰 SVG나 PNG로 내보냅니다.
CSV 결합 (VLOOKUP)
CSV Join
키 열을 기준으로 두 표를 내부·왼쪽·오른쪽·외부 결합하고 짝이 없는 행을 보여 줍니다.
CSV 엑셀 변환
CSV to Excel
여러 CSV를 열 유형·헤더·필터가 설정된 .xlsx 통합문서로 만듭니다.
CSV 뷰어
CSV Viewer
큰 구분자 파일을 전부 메모리에 올리지 않고 열어 열 유형·통계·정렬을 보여 줍니다.
CSV 정리
CSV Cleaner
셀 공백을 정리하고 헤더를 통일하며 숫자·날짜 형식을 고치고 열 수가 어긋난 행을 알려 줍니다.
환율 계산기
Currency Converter
유럽중앙은행 일일 기준환율로 30여 개 통화를 유로를 거쳐 환산하고, 은행이 알려 준 환율을 직접 넣어 계산할 수도 있습니다.