SQL 쿼리 작성: 점수 기준 학생 이름 조회 및 정렬
문제 설명
우리는 학교 데이터베이스의 STUDENTS 테이블을 사용하여 75점 이상의 점수를 받은 학생들의 이름을 조회하고 싶습니다. 또한, 조회된 결과를 각 이름의 마지막 세 글자를 기준으로 정렬하며, 같은 세 글자로 끝나는 이름이 여러 개 있을 경우에는 학생의 ID 순으로 오름차순 정렬하려고 합니다.
테이블 구조
STUDENTS 테이블은 다음과 같은 구조를 가지고 있습니다:
ColumnType
ID | Integer |
Name | String |
Marks | Integer |
SQL 쿼리
SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID;
쿼리 설명
- SELECT 문: Name 열에서 데이터를 선택합니다. 이는 출력될 데이터가 학생들의 이름임을 의미합니다.
- FROM 절: STUDENTS 테이블에서 데이터를 가져옵니다.
- WHERE 절: Marks 열의 값이 75를 초과하는 행만 필터링합니다. 이 조건은 우리가 관심 있는 학생들, 즉 75점 이상을 받은 학생들만을 대상으로 합니다.
- ORDER BY 절: 먼저 RIGHT(Name, 3) 함수를 사용하여 각 이름의 마지막 세 글자를 기준으로 결과를 정렬합니다. 동일한 세 글자로 끝나는 이름이 여러 개인 경우, ID 열을 기준으로 추가적인 오름차순 정렬을 수행하여 결과의 순서를 결정합니다.
결론
이 SQL 쿼리는 데이터베이스에서 특정 조건에 맞는 데이터를 효율적으로 필터링하고 정렬하는 간단하지만 강력한 예제를 보여줍니다. 특히, RIGHT() 함수와 같은 문자열 함수를 사용하여 복잡한 정렬 조건을 쉽게 처리할 수 있음을 보여줍니다. 이러한 기술은 다양한 데이터 처리 상황에서 유용하게 사용될 수 있습니다.
'SQL' 카테고리의 다른 글
Employee Salaries (0) | 2024.09.30 |
---|---|
Employee Names (1) | 2024.09.28 |
Weather Observation Station 12 (2) | 2024.09.24 |
Weather Observation Station 11 (0) | 2024.09.23 |
Weather Observation Station 10 (2) | 2024.09.22 |