강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

최준호님의 프로필 이미지
최준호

작성한 질문수

[2025] 비전공자도 한 번에 합격하는 SQLD 올인원

ORDER BY 절

ORDER BY 자료 및 강의 내용에 문제가 있는 것 같은데, 체크 부탁드립니다.

작성

·

22

1

ORDER BY 절의

NULL값 위치 지정의 설명에서,

강의 자료의 134 페이지에 나온 설명을 보면,

NULL 값의 위치가 지정된 항목은 오름/내림차순을 지정하지 않으면 자동으로 오름차순 되는 것은 ORDER BY 함수의 기본 기능으로 충분히 이해 가능하지만,

가장 마지막 문장인,

"그 외의 직원들은 급여를 기준으로 오름차순으로 정렬한다."에서 [급여]가 아닌, 커미션 아닌가요?

 

실습을 같이하면서 계속 다른 조건으로 실행해봐도, 자료에서 제공한 같은 함수를 사용해봐도 COMM기준으로 오름차순 출력됩니다.

급여가 맞나요?

급여를 커미션의 의미로 작성하신 것이라면, 자료 내에서 SAL, COMM 등으로 표기 부탁드립니다.

혼동이 심하게 오네요....

답변 2

1

데이터코드랩님의 프로필 이미지
데이터코드랩
지식공유자

안녕하세요. 최준호님.

 

교재의 내용은 아래와 같습니다.

image.png

위의 쿼리를 실행하면, comm 기준으로 먼저 정렬이 되고, 그 다음 정렬 기준으로 sal 가 적용이 됩니다.

그래서 실제 쿼리의 결과는 좌측 옆의 이미지 처럼 나오게 되는 겁니다.

 

아마도 두가지 이유 때문에 혼란스러우셨을거 같은데요.

 

  1. 그 외의 직원들은 급여로 정렬된다라는 말 때문에 혼란을 드린 것 같네요. 이 부분은 명확하게 작성 하자면 다음과 같이 쓰는게 좋겠네요.

    이 쿼리는 1차 정렬 기준으로 comm이 NULL인 직원들을 맨 위에 배치한 후 오름차순 정렬한다. 그 다음 2차 기준인 sal을 기준으로 다시 오름차순 정렬한다.

    보완해둘게요. 정말 감사드려요.

     🙂

     

  2. 그다음에 쿼리에 comm 뒤에 nulls first 만 있고 asc가 생략 되어 있어서 좀 혼란스러울거 같긴 합니다. 만약에 이쿼리에서 asc를 생략하지 않는다면 아래와 같은 쿼리가 작성됩니다.

     

SELECT ename, sal, comm
FROM scott.emp
WHERE sal BETWEEN 1000 AND 2000
    and ename != 'MILLER'
ORDER BY comm asc NULLS FIRST, sal asc;

이 쿼리는 comm 기준으로 asc 정렬을 하되, 널 값을 먼저 출력하라는 말이구요. 그 다음 정렬 기준이 sal(급여)이 되는 것입니다.

 

제 답변이 도움이 되셨으면 좋겠네요.

 

감사합니다.

 

 

0

안녕하세요, 인프런 AI 인턴입니다. 최준호님.

질문하신 내용은 SQL에서 ORDER BY 절을 사용하는 과정에서 내용의 혼동으로 인해 발생한 것으로 보입니다. 주로 많은 학습 자료에서 급여(SAL)와 커미션(COMM)가 같은 맥락에서 다루어지기도 하여 혼란이 발생할 수 있습니다.

강의 자료에 나오는 설명이 혼란스럽다고 느끼실 수 있을 것 같습니다. 말씀하신 대로, 강사님께서 특정 필드명을 명확히 표기해주시면 구체적으로 이해하는데 많은 도움이 될 것입니다. SQL에서의 ORDER BY는 기본적으로 오름차순으로 동작하며 이때 명시적인 기준이 명확해야 합니다. 만약 [급여]라고 표현된 부분이 실제 작동에서는 커미션을 의미한다면, 교재의 다른 부분과 일치하지 않게 되어 혼동이 생길 수 있습니다.

유사한 문제나 질문 해결을 위해 참고해볼 수 있는 링크를 준비했습니다:

  • null 값 정렬 위치: 이 문서에서는 SQL ORDER BY와 NULL 값의 기본 정렬 방식에 대해 설명되어 있습니다.

위 링크를 참조해서 ORDER BY절에서 NULL 값의 처리방식, 그리고 급여와 커미션의 구분에 대해 추가로 이해를 더해주시면 도움이 될 것 같습니다.

현재 자료에서의 혼동을 완화하기 위해, 강사님께서 수강생 여러분들에게 명확한 설명과 함께 자료가 갱신될 수 있도록 피드백을 드리는 것도 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최준호님의 프로필 이미지
최준호

작성한 질문수

질문하기