ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL Order by(정렬), Parameter Query(매개변수 검색)
    Data Base_Oracle/SQL 2019. 12. 31. 21:49

    order by 정렬

    order by : 필드 내 값들의 정렬 순서를 결정

    • asc[ending](오름차순) : ㄱ ~ ㅎ, A ~ Z, 1 ~ 999 => default
    • desc[ending](내림차순) : ㅎ ~ ㄱ, Z ~ A, 999 ~ 1 ex) 게시판 - 최신 게시글부터 조회
    • 가상필드가 올 수 있음
    • 다중정렬 가능

    ▷ 형식 SQL> select 필드명,,, from 테이블명,,, where 조건식
    order by 필드명1 정렬기준1, 필드명2 정렬기준2 ,,,
    ※ 정렬기준1 부터 우선 정렬

    ▶ emp테이블에서 고액연봉자 순으로 정렬해서 조회
    SQL> select ename as "사원명", sal 급여, sal * 12 연봉
    from emp order by 연봉 desc;

    사원명 급여 연봉
    KING 5000 60000
    FORD 3000 36000
    SCOTT 3000 36000
    JONES 2975 35700
    ... ... ...

    ▶ emp테이블에서 고액연봉자 순으로 정렬하되,
    sal이 같은 사원이 있다면 ename을 내림차순으로 정렬
    SQL> select ename as "사원명", sal 급여, sal * 12 연봉
    from emp order by 연봉 desc,ename desc;

    사원명 급여 연봉
    KING 5000 60000
    SCOTT 3000 36000
    FORD 3000 36000
    JONES 2975 35700
    ... ... ...

    ※ select 필드명1,필드명2,필드명3,,,, from 사이의 필드를 번호로 인식해서 정렬 가능,
    가장 앞에 있는 필드명이 1이고 오름차순으로 번호를 부여받음


    ▶ 위의 예제를 다음과 같이 쓸 수 있음
    SQL> select ename as "사원명", sal 급여, sal * 12 연봉
    from emp order by 3 desc,1 desc;
    ---- 결과는 위와 동일 ----

    Parameter Query (매개변수 인수질의 검색방법)

    자주 쓰이는 SQL문장에 매개변수를 주면
    실행할 때마다 다른 값을 인수로 대입하여
    편리하게 인수에 맞는 데이터를 조회할 수 있음

    ▷ 형식) &변수명(주로 필드명으로 쓰는 경향이 있음)

    ▶ emp테이블에서 부서번호가 &deptno인 사원들의 이름,급여,부서번호를

       순서대로 출력하되 급여가 많은 순서(내림차순)로 정렬
    SQL> select ename,sal,deptno from emp where deptno=&deptno order by 2 desc;
    => "deptno의 값을 입력하십시오" : 10

    ENAME SAL DEPTNO
    KING 5000 10
    CLARK 2450 10
    MILLER 1300 10

    ※ SQL Plus 명령어인 save, '/'와 함께 쓰면 SQL구문을 파일로
       저장해서 불러올 수 있기 때문에 더욱 편리하게 사용할 수 있음


    매개변수를 사용하면 복잡한 SQL구문에서 인수만 바꿈으로써 필요한 정보를 조회하는 것이 가능합니다.

    'Data Base_Oracle > SQL' 카테고리의 다른 글

    SQL 단일행 함수_문자함수  (0) 2020.01.02
    SQL Dual Table  (0) 2020.01.02
    SQL Select & 연산자 (2) + 연산자 우선순위  (0) 2019.12.31
    SQL Select & 연산자 (1)  (0) 2019.12.31
    SQL Select 개요 & Desc & Distinct  (0) 2019.12.31

    댓글

Designed by Tistory.