SQL ORDER BY절 - DESC / ASC

SELECT문으로 검색된 데이터를 정렬시키는 방법에 대해 포스팅하겠습니다

오름차순과 내림차순으로 정렬할 수 있는데요

++ 오름차순 : 작은값 부터 큰 값 으로의 순서입니다

++ 내림차순 : 큰값 부터 작은 값 으로의 순서입니다

 

먼저 설명할때 쓰일 테이블입니다

사용법은 간단합니다

 

SELECT 칼럼명 FROM 테이블명 ORDER BY 정렬 기준 칼럼명 DESC(내림차순) // ASC(오름차순)

ORDER BY절 뒤에 정렬할 기준이되는 칼럼명을 적고

뒤에 DESC 또는 ASC로 내림차순이나 오름차순을 정의해주면 됩니다

 

SELECT * FROM member ORDER BY num DESC

이렇게 하면 조조 - 제갈량 - 강감찬 - 홍길동 순으로 위상태와 정반대로 출력이 됩니다

 

ASC(오름차순)은 기본 설정입니다

SELECT * FROM member ORDER BY birthday
SELECT * FROM member ORDER BY birthday ASC

위 두 개의 구문은 같은 값을 출력합니다 생일 순서가 빠른 사람부터 출력이 돼서

홍길동 - 강감찬 - 조조 - 제갈량 순서로 출력이 됩니다

 

문자 또한 비교하여 사용 가능합니다

SELECT * FROM member ORDER BY grade ASC

이렇게 하면 A가 값이 적기 때문에 A 값을 가진 칼럼들이 먼저 출력되고

그다음에 B 그다음 C 값을 가진 컬럼들이 출력됩니다

 

ORDER BY절에 칼럼을 여러개 지정할 수 있다 ( , ) 작은 따옴표로 구분

SELECT * FROM member ORDER BY class DESC, grade ASC

이 경우는 앞(왼쪽)에 정의된 칼럼 기준 정렬 후 다음에 나열된 칼럼 기준으로 정렬한다

이렇게 하면 먼저 클래스 기준으로 오름차순 하여 정렬한다

이때 클래스 똑같이 1인 칼럼이 3개나 있는데 이 친구들은

grade 값을 기준으로 오름차순 정렬한다는 내용이다

 

3반 조조가 제일 위에 위치하고

1반 친구들은 A B C 순서대로 그 밑에 나열되게 된다

 

유용하게 쓰시길 바랍니다~