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;

 

쿼리 설명

  1. SELECT 문: Name 열에서 데이터를 선택합니다. 이는 출력될 데이터가 학생들의 이름임을 의미합니다.
  2. FROM 절: STUDENTS 테이블에서 데이터를 가져옵니다.
  3. WHERE 절: Marks 열의 값이 75를 초과하는 행만 필터링합니다. 이 조건은 우리가 관심 있는 학생들, 즉 75점 이상을 받은 학생들만을 대상으로 합니다.
  4. 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

+ Recent posts