본문 바로가기
Lecture/SQL & Oracle

[SQL 기본만 알아도 할껀 다한다.] 정렬 Order by에 대해

by 알 수 없는 사용자 2012. 7. 4.
반응형


안녕하세요 ~ 김블루입니다.ㅋ

오늘은 데이터 정렬! << order by >> 에 대해 알아보겠습니다.

SQL문을 쭉~  쳐보시면서 따라오시면 됩니다.ㅎ



첫 시간에 배운 기본적인 조회 문장입니다.

employees 테이블을 예제로 사용합니다.




order by 절을 추가한 결과 입니다. 

기본 조회 문장과 차이가 보이시나요??

salary의 결과가 작은 순서대로 정렬되어 출력되었네요 ㅋ

order by [정렬 기준 컬럼] 으로 쓰시면 되고 

출력하지는 않지만, 조회 대상의 테이블에 존재하는 어떤 컬럼을 기준으로 쓰셔도 됩니다. ㅋ



기준 컬럼에 [[ASC]] 키워드를 사용했습니다.

오름차순(Ascending power)입니다.ㅋ

작은 것부터 차례대로 출력해줍니다.



반대로 [[DESC]] 키워드를 사용했습니다.

내림차순(Descending power)입니다.

큰 것부터 차례대로 출력합니다.

(참고:: 오라클에선 기본적으로 차순 키워드를 생략할 경우 오름차순으로 정렬합니다.)



다수의 컬럼을 기준으로도 정렬이 가능합니다.

살짝 복잡해질 수 있으니 녹색, 파란색, 보라색 박스를 자세히 봐주세요.

순서대로 department_id를 먼저 정렬하고 department_id의 결과 내에서 salary를 정렬합니다.

아...ㅋㅋㅋ 이해하셨을겁니다.ㅋ




select 한 컬럼의 순서의 번호를 order by 절에 사용할 수도 있습니다.

짧고 간단한 select 에선 편리할 수 있지만..

이렇게 쓰면 select 컬럼이 몇개만 늘어나도 

뭐가 기준인지 손으로 하나,, 둘,, 세,, 이런 씌,, 이렇게 되십니다..ㅋㅋ 



위에서 살짝 말씀드렸지만 숫자로 대신 쓰실때 주의하셔야됩니다.

숫자는 실제 테이블의 컬럼에 [[절대적인]] 숫자가 아니라

select 하는 컬럼의 [[상대적인]] 숫자입니다.

그렇기 때문에 select 문이 수정될 경우 (순서가 바뀌거나, 추가되는)

order by 또한 해당 컬럼에 맞게 수정해야됩니다.

그냥 컬럼 풀네임 쓰는 것을 추천합니다.ㅋㅋ



숫자로 쓰든 컬럼 네임을 쓰든,

다수의 컬럼을 기준으로 할때, 오름차순과 내림차순을 부분적으로 컬럼마다 적용할 수 있습니다.


게시판, 통계 등 다양하게 사용되는 필수 기능 [정렬],

이번 예제에서는 숫자만으로 진행했습니다.

문자에서도 똑같은 방식으로 적용되니 한번씩 해보시길 바랍니다. ㅋ


질문, 태클은 댓글이나 메일, 편하신대로 해주세요.