-- ORDER BY : 정렬
-- ASC : 오름차순(생략하면 오름차순)
-- DESC : 내림차순
-- 오름차순 정렬
SELECT name, basicpay FROM insa ORDER BY basicpay;
SELECT name, basicpay FROM insa ORDER BY basicpay ASC;
-- 내림차순 정렬
SELECT name, basicpay FROM insa ORDER BY basicpay DESC;
--부서별 오름차순으로 정렬하고 부서가 같으면 직위 오름차순 정렬( ㄱ 부터 A 부터 1부터)
SELECT name, buseo,jikwi FROM insa ORDER BY buseo, jikwi;
--부서별 내림차순으로 정렬하고 부서가 같으면 직위 오름차순 정렬(ㅎ 부터 Z 부터 9부터)
SELECT name, buseo,jikwi FROM insa ORDER BY buseo DESC, jikwi;
SELECT name, buseo,jikwi FROM insa ORDER BY buseo DESC, jikwi ASC;
-- 다음은 오류가 발생한다 이유가 무엇이고 오류가 없도록 수정 할 것.
SELECT name, basicpay,sudang,(basicpay + sudang) pay
FROM insa
WHERE pay >=2500000 -- WHERE절에는 pay라는 컬럼이 없다.
ORDER BY pay DESC;
=> 컴파일 순서에 따라서 오류가난다
SELECT name, basicpay,sudang,(basicpay + sudang) pay
FROM insa
WHERE (basicpay + sudang) >=2500000 -- WHERE절에는 pay라는 컬럼이 없다.
ORDER BY pay DESC; --ORDER BY는 가장 마지막에 컴파일 되므로 pay나 (basicpay + sudang) 둘중 아무거나 써도 상관없다.
-- city가 서울 사람중(basicpay + sudang) 내림차순으로 정렬하여 출력
-- 출력 컬럼 : name, city, basicpay + sudang pay, buseo
SELECT name, city,(basicpay+sudang) pay, buseo
FROM insa
WHERE city='서울'
ORDER BY pay DESC;
-- 여자 (ssn이 이용) 중 부서 오름차순으로 정렬하고 부서가 같으면 기본급 내림차순으로 정렬
-- 출력 컬럼 : name, ssn,buseo, basicpay
SELECT name, ssn, buseo, basicpay
FROM insa
WHERE SUBSTR(ssn, 8, 1) IN (2,4,6)
ORDER BY buseo ASC, basicpay DESC
출처: https://tibang.tistory.com/entry/Oracle-ORDER-BY [T없이맑은날]
'프로그램 관련 > oracle' 카테고리의 다른 글
oracle null 을 제외한값 select is not null (0) | 2019.09.06 |
---|---|
oracle 숫자,영문,한글 순 order by (0) | 2019.09.04 |
ORACLE 컬럼 수정, 추가, 제거 하기 (0) | 2019.08.29 |
oracle LAG 함수,LEAD 함수 (0) | 2019.01.30 |
oracle 정렬 순서 정하기 order by 순서정하기 (0) | 2019.01.15 |