-
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의 값을 입력하십시오" : 10ENAME 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