데이터베이스/Oracle

SELECT문의 기본 형식

eunsour 2020. 7. 24.
반응형

DBMS - Oracle Database

VERSION - Oracle Database 11g Release 2

IDE - SQL Developer

 

실습용 데이터를 입력하지 않고, 오라클 데이터베이스를 설치하면 기본으로 제공되는 테이블과 계정들로 학습한 내용입니다. 


※ 데이터를 조회하는 3가지 방법 - 셀렉션, 프로젝션, 조인

  • 행 단위로 조회하는 셀렉션
  • 열 단위로 조회하는 프로젝션
  • 두 개 이상의 테이블을 사용하여 조회하는 조인

※ SQL의 기본 뼈대, SELECT절과 FROM절

  1. * 로 테이블 전체 열 출력하기

SELECT * FROM EMP;

  2. 테이블 부분 열 출력하기

SELECT EMPNO, ENAME, DEPTNO FROM EMP;

  3. DISTINCT로 열 중복 제거하기(열이 한 개인 경우)

SELECT DISTINCT DEPTNO FROM EMP;

  4. DISTINCT로 열 중복 제거하기(열이 여러 개인 경우)

SELECT DISTINCT JOB, DEPTNO FROM EMP;

결과 >> 각 MANAGER들의 부서 번호는 20, 30, 10으로 다르기 떄문에 중복 데이터 X

여러 개 열을 명시하여 중복 제거하기

  5. ALL로 중복되는 열 제거 없이 그대로 출력하기

SELECT ALL JOB, DEPTNO FROM EMP;

  6. 열에 연산식을 사용하여 출력하기

SELECT ENAME, SAL, SAL*12+COMM, COMM FROM EMP;

  7. 별칭을 사용하여 사원의 연간 총 수입 출력하기

SELECT ENAME, SAL, SAL*12+COMM AS ANNSAL, COMM
    FROM EMP;

결과 >> 

 

별칭을 지정하는 방식
사용방법 설명
SAL * 12 + COMM ANNSAL 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정
SAL * 12 + COMM "ANNSAL" 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표("")로 묶어 지정
SAL * 12 + COMM AS ANNSAL 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭 지정
SAL * 12 + COMM AS "ANNSAL" 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭을 큰따옴표(" ")로 묶어 지정
실무에서는 별칭을 지정하는 4가지 방식 중 세번째 방식을 선호하는 경향이 있다. 
우선 'AS'가 붙는 형식을 선호하는 이유는 조회해야 할 열이 수십, 수백 개일 경우에 어떤 단어가 별칭인지 알아보기 편하기 때문.
+ 큰따옴표를 사용하지 않으려는 프로그래머들 습관

  8. EMP 테이블의 모든 열을 급여 기준으로 오름차순 정렬하기

SELECT * FROM EMP ORDER BY SAL;

  9. 각각의 열에 내림차순과 오름차순 동시에 사용하기

SELECT * FROM EMP ORDER BY DEPTNO ASC, SAL DESC;

결과 >>

EMP 테이블의 전체 열을 부서 번호(오름차순)와 급여(내림차순)으로 정렬하기

 

ORDER BY절을 사용한 정렬은 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다.
여기저기 흩어져 있는 데이터를 특정 기준에 따라 가지런히 순서를 맞추는 것은 많은 자원, 즉 비용을 소모하기 때문.

ORDER BY절이 존재할 경우 SELECT문을 통해 조회할 데이터를 모두 확정한 상태에서 ORDER BY절의 명시된 기준에 따라 정렬.

이때 데이터의 양 또는 정렬 방식에 따라 출력 데이터를 선정하는 시간보다 정렬하는 데 시간이 더 걸릴 수도 있다.  서비스 응답 시간 ↓
즉 정렬을 하지 않으면 결과를 더 빨리 출력.

 

 

 

 

Reference

 
Do it! 오라클로 배우는 데이터베이스 입문
저자 : 이지훈
출판 : 이지스퍼블리싱
발매 : 2018.10.30

 

반응형

댓글