SQL 실전 기초 / 무료 실습
SQL 연습소
SQL을 실행하면 문장별 결과 표가 나타납니다.
Ctrl/⌘ + Enter 실행 · 3초 제한 · 결과 합계 500행/1MB · 메모리 DB는 새로고침하면 초기화됩니다.
문제 채점은 SELECT 한 문장과 독립된 초기 데이터 2종을 사용합니다. Oracle·MySQL·MariaDB 실행기가 아닙니다.
SQL·메모·학습 기록은 이 브라우저에만 저장됩니다. 다른 기기로 동기화되지 않습니다.
원본 데이터 SQL 보기
이 실습의 범위
SQLite 메모리 DB를 전용 Worker에서 실행합니다. 중지·시간 초과는 Worker와 DB를 새로 만들며 이전 변경 사항은 사라집니다. DB 초기화는 작성 SQL을 유지합니다. 자유 실습에서는 여러 문장을 실행할 수 있고, 채점은 수정한 DB를 사용하지 않습니다.
회사·주문·경계값·통합 상점 데이터에는 NULL, 중복, 빈 관계, 날짜 경계, 할인, 분할 결제, 셀프 조인과 동률 순위가 포함됩니다. 각 문제는 서로 다른 두 데이터 변형에서 채점해 고정값 답안을 구분합니다.
숫자 정수는 64비트 정밀도를 보존합니다. NULL과 문자열, 중복 개수를 구분하고 정렬을 요구하는 문제만 순서를 검사합니다. 채점 데이터·답안은 브라우저에서 볼 수 있는 학습용 자료이며 인증 점수나 비공개 시험이 아닙니다.
초기 화면·실행기 다운로드에는 네트워크가 필요하지만 SQL·메모·결과는 서버에 보내지 않습니다. 운영 DB 접속, 외부 파일 업로드, 확장 로딩, 다중 사용자 트랜잭션 실험은 제공하지 않습니다.
자체 가상 데이터 4종·표준 SQL 28문제 · sql.js 1.14.1 / SQLite · 라이선스 · 버전·해시
SQL 연구소 사용 안내
브라우저 안의 SQLite에서 SQL을 실행하고 자체 연습문제를 풉니다. 입력 SQL과 데이터는 서버에 전송하지 않습니다.
문제를 선택해 스키마와 샘플 데이터를 확인한 뒤 SQL을 작성하세요. 실행으로 결과를 보고 채점·힌트·해설로 풀이를 확인할 수 있습니다. 중지는 실행 중인 작업을 종료하며 초기화는 샘플 DB를 복원합니다.
어떻게 구현했나
SQLite WebAssembly 엔진을 전용 Worker에서 실행합니다. SQL을 운영 서버 DB로 보내지 않으며, 각 실습 데이터베이스는 브라우저 메모리에만 존재합니다.
채점은 사용자 쿼리와 정답 쿼리를 각각 새 데이터베이스에서 실행하고 결과값·NULL·중복 행·필요한 정렬 순서를 비교합니다.
실행 시간과 표시 결과 크기를 제한하며, 중지와 시간 초과 시 Worker를 종료합니다. SQLite 방언 실습이므로 Oracle·MySQL·PostgreSQL 서버의 동작을 대신하지 않습니다.
자주 묻는 질문
입력한 데이터는 어디에서 처리하나요?
이 도구의 입력 데이터는 브라우저에서 처리하며 도구 기능을 위해 서버로 업로드하지 않습니다. 결과를 공유하기 전 민감한 정보가 없는지 확인하세요.
결과가 예상과 다르면 어떻게 하나요?
입력 형식, 문자 인코딩과 선택한 옵션을 확인하세요. 각 도구가 안내하는 지원 범위와 제한을 확인하고, 원본 데이터를 보관한 상태에서 결과를 검토하세요.