본문 바로가기
9. 프로젝트/└ 02. 홈페이지제작

sql order by 문법

by 훈킹 2008. 7. 23.
반응형

SQL Order by 문법

---------------------------------------------------------------------SELECT "필드명"
FROM "도표명"
[WHERE "조건"]
ORDER BY "도표명" [ASC, DESC]

[] 는 WHERE 절이 꼭 필요한것이 아님을 대표합니다. 하지만 WHERE 절이 존재할 경우 ORDER BY 절 앞에 있습니다. ASC 는 결과가 작은것으로 부터 큰것으로의 순서로 열거하였음을 의미하며 DESC 는 결과가 큰것으로부터 작은것으로의 순서로 열거함을 의미합니다. 두가지 모두 쓰지 않았을 경우 우리는 ASC 를 사용합니다.

우리는 여러개의 부동한 필드로 순서를 배열할수 있습니다. 이런 상황에서 ORDER BY 절의 용어는 아래와 같습니다(두개의 필드가 있는것으로 가설).

ORDER BY ""필드 1" [ASC, DESC], ""필드 2" [ASC, DESC]

만약 두 필드 모두 작은것으로 부터 큰것의 순서로 선택한다면 절의 결과는 “필드1”에 따라 작은것으로 부터 배열합니다. 만약 여러개의 데이터가 “필드1”의 수치와 같을 경우 “필드2”에 따라 작은것으로 부터 큰것의 순서로 배열합니다.

예를 들어 만약 Sales 필드의 작은것으로 부터 큰것의 순서에 따라 Store_Information 도표중의 데이터를 열거할 경우 윗 예에서 우리는 필드명으로 배열순서의 증거를 지정합니다.

Store_Information 도표

store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
San Francisco $300 Jan-08-1999
Boston $700 Jan-08-1999

우리는 입력합니다,

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC


결과:

store_name Sales Date
Los Angeles $1500 Jan-05-1999
Boston $700 Jan-08-1999
San Francisco $300 Jan-08-1999
San Diego $250 Jan-07-1999

필드명외에 우리는 필드의 순서를 (SQL어구중의 순서에 의하여) 사용할수도 있습니다. SELECT 후 첫번째 필드가 1이고 두번째 필드가 2,이렇게 유추합니다. 윗 예에서 우리는 아래 SQL 절로 완전히 같은 효과를 얻을수 있습니다.

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC
 

반응형