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

Jay Kim님의 프로필 이미지
Jay Kim

작성한 질문수

데이터 분석 SQL Fundamentals

Order by 1, 2, 3

작성

·

304

1

안녕하세요. 덕분에 좋은강의 잘 듣고 있습니다.

조인실습1에서 해당 내용 궁금하여 질문드립니다!

 

  1. select절에 다른 컬럼들도 있는데 1,2,3만 지정이 된건 그 컬럼들만 순서를 정하기 위함인가요? 그럼 나머지 컬럼들은 알아서 순서대로 출력된다고 보면 될까요?

     

  2. order by 1,2,3 맨 마지막에 c.fromdate가 들어간 이유는 fromdate 컬럼 기준으로 정렬을 해주기 위함일까요?

     

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

  1. 나머지 컬럼들은 알아서 순서대로 출력된다고 보면 될까요?

    의 의미를 잘 이해하지는 못했지만, order by절에 컬럼을 기술하면 해당 컬럼값의 순서를 기준으로 해서 row들을 정렬하여 출력 하기 위함입니다.

     

    예를 들어 아래와 같이 col1, col2, col3, col4 가 있다고 했을 때

    col1 , col2, col3, col4

    가 , C, 3, 1000

    라, A , 20, 2000

    가, B 10, 3000,

    라, A 9, 4000

     

    SELECT col1, col2, col3, col4 from tab order by 1, 2, 3 을 하게 되면 col1, col2, col3 값 순으로 정렬을 해서 출력하라는 의미 입니다. 그래서 col1값이 제일 큰 기준 값으로 정렬, col2가 그다음 기준 값으로 정렬(즉 col1이 동일하다면 col2를 기준으로 정렬), col3가 그 다음 기준값입니다(즉 col1, col2가 같으면 col3를 기준으로 정렬). col4의 경우는 order by 절에 기술된 컬럼들에 따라 row가 정렬되므로 같이 출력될 뿐입니다. 그래서 아래와 같이 정렬되어 출력 됩니다.

     

    가, B, 10, 3000

    가, C, 3, 1000

    라, A, 9, 4000

    라, A, 20, 2000

     

  2. order by 1,2,3 맨 마지막에 c.fromdate가 들어간 이유는 fromdate 컬럼 기준으로 정렬을 해주기 위함일까요?

    => order by 1, 2, 3 맨 마지막에 c.fromdate가 들어가 있나요? 이건 영상의 몇분 몇초에서 나온 건지 적어주셨으면 합니다.

     

    감사합니다.

Jay Kim님의 프로필 이미지
Jay Kim
질문자

강사님, 빠른 답변 감사드립니다.

  1. 정리해보자면 ORDER BY 1,2,3 순서로 오름차순이라고 이해를 하면 될까요?

     

  2. 조인실습-02 강의영상의 1:10에 해당 내용이 있습니다.

권 철민님의 프로필 이미지
권 철민
지식공유자

  1. 정리해보자면 ORDER BY 1,2,3 순서로 오름차순이라고 이해를 하면 될까요?

    => 네 맞습니다.

  2. order by에 컬럼 c.fromdate가 하나 더 추가되었을 뿐입니다. order by 1, 2, 3, 5 와 동일합니다.

Jay Kim님의 프로필 이미지
Jay Kim

작성한 질문수

질문하기