[TIL][SQL] SELECT-07

goaswon·2020년 10월 29일
0

SQL

목록 보기
8/10

ORDER BY 절

날짜를 기준으로 정렬할 때 오른차순과 내림차순을 기억해야 한다.

ORDER BY절의 위치는 SQL 문장에서 가장 마지막에 적어야 한다.
앞에 뭐가 오든 마지막에 위치해야함!

지금까지 나온 keyword들의 순서 1. SELECT
2. FROM
3. WHERE
4. ORDER BY 순으로만 적어야 한다.

  • 오름차순 : ASC
  • 내림차순 : DESC

    기본값이 오름차순

SQL> SELECT ename, sal, hiredate
   2  FROM emp ;

ENAME             SAL HIREDATE
---------- ---------- --------
SMITH             800 80/12/17
ALLEN            1600 81/02/20
WARD             1250 81/02/22
JONES            2975 81/04/02
MARTIN           1250 81/09/28
BLAKE            2850 81/05/01
CLARK         3587.05 81/06/09
SCOTT            23.4 82/12/09
KING           7320.5 81/11/17
TURNER           1500 81/09/08
ADAMS            1100 83/01/12
JAMES             950 81/12/03
FORD             3000 81/12/03
MILLER        1903.33 82/01/23


SQL> SELECT ename, sal, hiredate
  2  FROM emp
  3  ORDER BY ename;

ENAME             SAL HIREDATE
---------- ---------- --------
ADAMS            1100 83/01/12
ALLEN            1600 81/02/20
BLAKE            2850 81/05/01
CLARK         3587.05 81/06/09
FORD             3000 81/12/03
JAMES             950 81/12/03
JONES            2975 81/04/02
KING           7320.5 81/11/17
MARTIN           1250 81/09/28
MILLER        1903.33 82/01/23
SCOTT            23.4 82/12/09
SMITH             800 80/12/17
TURNER           1500 81/09/08
WARD             1250 81/02/22

SQL> SELECT deptno, sal, ename
  2  FROM emp
  3  ORDER BY deptno ASC, sal DESC ;

    DEPTNO        SAL ENAME
---------- ---------- ----------
        10     7320.5 KING
        10    3587.05 CLARK
        10    1903.33 MILLER
        20       3000 FORD
        20       2975 JONES
        20       1100 ADAMS
        20        800 SMITH
        20       23.4 SCOTT
        30       2850 BLAKE
        30       1600 ALLEN
        30       1500 TURNER
        30       1250 MARTIN
        30       1250 WARD
        30        950 JAMES
        
        
SQL> SELECT deptno, sal, ename
  2  FROM emp
  3  WHERE sal > 1000
  4  ORDER BY 2, 1 ; --숫자는 컬럼의 순서를 말함. 즉, 2는 SELECT절의 2번쨰인 ename, 1은 SELECT절의 1번쨰인 sal

    DEPTNO        SAL ENAME
---------- ---------- ----------
        20       1100 ADAMS
        30       1250 WARD
        30       1250 MARTIN
        30       1500 TURNER
        30       1600 ALLEN
        10    1903.33 MILLER
        30       2850 BLAKE
        20       2975 JONES
        20       3000 FORD
        10    3587.05 CLARK
        10     7320.5 KING
        

ORDER BY는 최대한 사용하지 말것!
성능이 완전 안좋아짐!

profile
goaswon

0개의 댓글