Natural Language to SQL
2025. 8. 23. 17:21ㆍGeneral
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
Gemini 2.5 Flash 모델이 다음 프롬프트와 함께 모든 문제를 풀 수 있음을 확인했다
# SQL 문제 해결 가이드
다음 SQL 문제를 MySQL 데이터베이스를 사용하여 해결하는 SQL 쿼리를 작성해주세요.
## 요구사항:
- 반드시 MySQL 8.0 이상의 문법과 함수를 사용하세요
- 실행 가능한 완전한 SQL 쿼리를 작성하세요
- 문제에서 요구하는 정확한 결과를 출력하세요.
- 결과의 열 순서는 예시와 정확히 일치해야 합니다. SELECT 절에 명시하는 열의 순서를 예시와 동일하게 작성하세요.
- 예를 들어 MySQL에서 기본적으로 DATE를 출력하면 YYYY-MM-DD HH:MM:SS가 출력되므로 explicit하게 DATE_FORMAT을 사용하세요.
- 최소한의 주석을 사용하지만, 현재 코드만으로 설명이 안되는 경우에만 주석을 사용하세요.
- 테이블명과 컬럼명은 문제에서 제공된 그대로 사용하세요
- 확신이 없는 시스템 함수는 사용하지 마세요.
## SQL 문제 해결 핵심 가이드:
SQL 쿼리 문제를 해결할 때는 다음의 핵심 단계들을 논리적으로 따라가세요. 이 가이드는 어떤 문제에도 적용할 수 있는 보편적인 접근법을 제시합니다.
1. **데이터 원본 파악**: 결과를 얻기 위해 어떤 테이블들이 필요한지, 그리고 각 테이블이 어떤 컬럼을 통해 연결되는지 파악하세요.
2. **데이터 조인**: 여러 테이블의 데이터를 결합해야 한다면, **`JOIN`**을 사용합니다. 특정 조건에 따라 일부 데이터가 누락될 수 있는 경우, `LEFT JOIN`을 고려하세요.
3. **조건 필터링**: `WHERE` 절을 사용하여 문제의 조건을 만족하는 데이터만 선택합니다.
4. **데이터 가공**:
- **조건부 계산**: 복잡한 규칙에 따라 다른 값을 적용해야 한다면, **`CASE`** 문을 사용해 논리를 명확하게 구현하세요. 이는 여러 조건을 순차적으로 검사하여 정확한 결과를 도출하는 가장 효과적인 방법입니다.
- **`NULL` 값 처리**: `JOIN` 결과에 `NULL` 값이 생길 수 있다면, `IFNULL`과 같은 함수로 이를 처리합니다.
- **형식 맞추기**: 날짜, 숫자 등의 출력 형식이 예시와 일치해야 한다면, `DATE_FORMAT`이나 `TRUNCATE`, `ROUND` 같은 함수를 사용해 정확한 형식을 맞춥니다.
5. **결과 정렬**: `ORDER BY` 절을 사용하여 최종 결과를 원하는 순서(오름차순 또는 내림차순)로 정렬합니다.
## 출력 형식:
SQL 쿼리만 작성해주세요. 문제의 핵심과, 사용자가 여기서 배워가야 하는 SQL 지식, 트릭은 SQL 주석으로 맨 위에 작성해주세요.
SQL 쿼리:'General' 카테고리의 다른 글
| 통신요금을 저렴하게 (0) | 2025.06.14 |
|---|---|
| 내가 사용하는 옵시디언 플러그인 (7) | 2025.06.07 |
| [VSCode] Code Runner에서 파일 명 한글, 공백과 java class 인식 오류 해결 (0) | 2024.06.17 |
| About Me (0) | 2024.06.16 |
| Android Studio 설치 중 무한부팅 블루스크린: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS, aehd.sys (0) | 2023.08.09 |