- select 문에서 가장 나중에 고려됩니다


  1. 정렬 순서

① 오름차순: ASC --> 기본값

② 내림차순: DESC

③ null값의 경우 - 오름차순: 맨 뒤

- 내림차순: 맨 앞







  2. 정렬 기준


① select list element 이름, 컬럼 alias(column 이름, column alias)

② 숫자 (select-list 상의 위치값)

③ 표현식 : 수식, 함수 


    1) select list element 이름(컬럼 이름), 컬럼 alias


==> select-list에 나오지 않은 컬럼도 쓸 수 있음


-------------------------

cf.)



==> ERROR: ORA-00904: "ANN_SAL": 부적합한 식별자

<-- column alias는 where 절에서 사용할 수 없으므로


cf.) column alias는 group by 절에서도 사용할 수 없습니다.

4 Select                 12 * sal  ann_sal

1 From                   emp

2 Where                 ann_sal>3000

3 GROUP BY          ann_sal(X)

5 Having

6 Order by


-------------------------


    2) 숫자(select-list 상의 위치값)


==> 중간에 컬럼이나 수식이 삽입될 경우 정렬 순서가 달라집니다



    3) 수식



SQL> / --> /는 sql buffer의 내용을 실행하는 SQL*Plus 명령

SQL> / --> 실행할 때마다 정렬 순서가 달라집니다. 왜 그럴까요?


     ------------------------------------------------------

SQL> select empno, ename, mod(empno, 5)

    from emp;


SQL> select empno, ename

    from emp

    order by mod(empno, 5);


SQL> select empno, ename, mod(empno, 5)

    from emp

    order by mod(empno, 5);


※modulus :나머지를 구하는 함수

mod(m,n) = 0 ~ n-1

-------------------------------

# 연습문제 풀이시

-------------------------------

  - 현재 실습용 서버의 employees, departments 등의 테이블은 데이터 일부만 존재합니다.

  - 연습문제에서 employees, departments 등의 테이블은 hr.employees, hr.departments 등으로

    테이블 이름 앞에 hr. 을 붙여서 사용하시기 바랍니다.


Les02_v.ppt


oj_SQL.txt


'Oracle > SQL Fundamentals I' 카테고리의 다른 글

5일차 Miscellaneous(기타)  (0) 2012.04.09
5일차 # SQL*Plus의 이해  (0) 2012.04.09
4일차 # 2-18: 연산자 우선순위  (0) 2012.04.06
4일차 # 2-17: NOT 연산자  (0) 2012.04.06
4일차 # 2-14: 논리 연산  (0) 2012.04.06

+ Recent posts