본문으로 건너뛰기

SQL to NoSQL Converter

SQL 쿼리를 MongoDB NoSQL 쿼리로 변환합니다. 데이터베이스 마이그레이션이나 NoSQL 학습에 유용합니다.

SQL Query
MongoDB Query

Supported Features

  • SELECT with WHERE, ORDER BY, LIMIT
  • INSERT INTO with VALUES
  • UPDATE with SET and WHERE
  • DELETE FROM with WHERE
  • Operators: =, !=, >, <, >=, <=, BETWEEN

주요 기능

  • 4가지 SQL 명령 지원: SELECT, INSERT, UPDATE, DELETE
  • 다양한 연산자: =, !=, >, <, >=, <=, BETWEEN
  • 고급 기능: WHERE 절, ORDER BY, LIMIT 지원
  • 실시간 변환: 입력과 동시에 MongoDB 쿼리 생성
  • 5가지 예제 템플릿: 간단한 SELECT부터 복잡한 쿼리까지

지원하는 SQL 문법

SELECT 문

-- 기본 SELECT
SELECT * FROM users WHERE age > 25

-- 특정 필드 선택
SELECT name, email FROM users WHERE status = 'active'

-- ORDER BY와 LIMIT
SELECT * FROM users ORDER BY created_at DESC LIMIT 10

-- BETWEEN 연산자
SELECT * FROM users WHERE age BETWEEN 20 AND 30

변환 결과 (MongoDB):

db.users.find(
{ "age": { "$gt": 25 } }
)

db.users.find(
{ "status": "active" },
{ "name": 1, "email": 1 }
)

db.users.find({}).sort({"created_at": -1}).limit(10)

db.users.find(
{ "age": { "$gte": 20, "$lte": 30 } }
)

INSERT 문

INSERT INTO users (name, email, age) VALUES ('John', 'john@example.com', 30)

변환 결과:

db.users.insertOne(
{
"name": "John",
"email": "john@example.com",
"age": 30
}
)

UPDATE 문

UPDATE users SET status = 'active' WHERE age >= 18

변환 결과:

db.users.updateMany(
{ "age": { "$gte": 18 } },
{ $set: { "status": "active" } }
)

DELETE 문

DELETE FROM users WHERE created_at < '2020-01-01'

변환 결과:

db.users.deleteMany(
{ "created_at": { "$lt": "2020-01-01" } }
)

지원하는 연산자

SQL 연산자MongoDB 연산자설명
=직접 값 또는 $eq같음
!=$ne같지 않음
>$gt초과
<$lt미만
>=$gte이상
<=$lte이하
BETWEEN$gte + $lte범위

사용 예시

1. 데이터베이스 마이그레이션

SQL 데이터베이스에서 MongoDB로 마이그레이션할 때 기존 쿼리를 빠르게 변환:

SELECT user_id, username, email
FROM users
WHERE status = 'active' AND age >= 18
ORDER BY created_at DESC
LIMIT 100

2. NoSQL 학습

SQL에 익숙한 개발자가 MongoDB 문법을 학습할 때 참고용으로 활용:

UPDATE products SET price = 29.99 WHERE category = 'electronics'

3. 쿼리 최적화

SQL 쿼리를 MongoDB로 변환하여 성능 비교 및 최적화:

SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31'

제한사항

현재 버전에서 지원하지 않는 기능:

  • ❌ JOIN 연산 (MongoDB는 $lookup 사용)
  • ❌ GROUP BY, HAVING (MongoDB는 aggregation pipeline 사용)
  • ❌ 서브쿼리
  • ❌ OR 조건 (AND만 지원)
  • ❌ IN, NOT IN 연산자
  • ❌ LIKE 패턴 매칭

  1. 복잡한 쿼리는 단순화: JOIN이나 서브쿼리는 별도로 처리하세요.
  2. 테스트 필수: 변환된 쿼리를 프로덕션에 사용하기 전에 반드시 테스트하세요.
  3. MongoDB 문서 참고: 더 복잡한 쿼리는 MongoDB 공식 문서를 참고하세요.
  4. Aggregation Pipeline: GROUP BY나 복잡한 집계는 MongoDB Aggregation Pipeline을 사용하세요.

관련 도구