데이터를 조회하는 3가지 방법 - 셀렉션, 프로젝션, 조인
※ 셀렉션(selection)
- 행 단위로 조회하며, 테이블 전체 데이터 중 몇몇 가로줄의 데이터만 선택할 때 사용
- SELECT문을 사용하여 특정 행만 선별하여 조회하는 방식이 컬렉션
※ 프로젝션(projection)
- 열 단위로 원하는 데이터를 조회하는 방식
- SELECT문을 사용하여 특정 열만을 선별하여 조회하는 방식이 프로젝션
※ 셀렉션과 프로젝션을 함께 사용하여 특정 테이블에서 조회하려는 행과 열을 모두 선별할 때 셀렉션과 프로젝션을 함께 사용할 수 있음(원하는 행의 특정 열만 조회가 가능)
→ 예를 들면 전체 학생 중 졸업생만을 조회하되 학번, 이름, 학과 코드 항목만 출력되도록 선택하는 것
※ 조인(join)
- 두 개 이상의 테이블을 양옆에 연결하여 마치 하나의 테이블인 것처럼 데이터를 조회하는 방식
- 관계형 데이터베이스에서 흔히 사용하는 방식으로 여러 테이블의 데이터를 하나의 테이블처럼 조회할 수 있음
SELECT절과 FROM절
SELECT [조회할 열1 이름], [조회할 열2 이름], ...
FROM [조회할 테이블 이름];
중복 데이터를 삭제하는 DISTINCT
DISTINCT로 열 중복 제거(열이 한 개인 경우)
-- EMP 테이블의 DEPTNO(부서번호)를 중복없이 조회
SELECT DISTINCT DEPTNO
FROM EMP;
DISTINCT로 열 중복 제거(열이 여러 개인 경우)
-- 여러개 열을 명시하여 중복 제거하기
-- JOB과 DEPTNO가 모두 중복된 데이터는 한 번만 출력됨
SELECT DISTINCT JOB, DEPTNO
FROM EMP;
ALL로 중복되는 열 제거 없이 그대로 출력하기
- ALL은 DISTINCT와 반대로 데이터 중복을 제거하지 않고 그대로 출력
별칭 설정 - AS
별칭을 지정하는 방식
- 4가지 방식 중 하나를 선택하여 SELECT절에 사용
사용 방법 | 설명 |
SAL*12+COMM ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지칭 |
SAL*12+COMM "ANNSAL" | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표로묶어 지칭 |
SAL*12+COMM AS ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄운 후 AS, 한 칸 뒤에 별칭 |
SAL*12+COMM AS "ANNSAL" | 연산 및 가공된 문장 이후 한 칸 띄운 후 AS, 한 칸 뒤에 별칭을 큰따옴표로 묶어 지칭 |
- 세번째 방식을 주로 채택하여 사용함
ORDER BY
- 시간이나 이름 순서 혹은 어떤 기준으로 데이터를 정렬해서 출력해야 하는 경우에 사용
- SELECT문을 작성할 때 사용할 수 있는 여러 절 중 가장 마지막 부분에 작성
- ASC(오름차순), DESC(내림차순)
- 정렬 옵션을 지정하지 않을 경우 기본값으로 오름차순(ASC)이 설정됨
SELECT [조회할 열1 이름], [열2 이름], ...
FROM [조회할 테이블 이름]
.
. (그 밖의 절)
.
ORDER BY [정렬하려는 열 이름(여러 열 지정 가능)] [정렬 옵션];
각각의 열에 내림차순과 오름차순 동시에 사용하기
- ORDER BY 절에는 우선순위를 고려하여 여러 개의 정렬 기준을 지정할 수 있음
- 예를 들어 부서 번호를 오름차순으로 정렬하고, 부서 번호가 같은 사원일 경우 급여를 기준으로 내림차순으로 정렬할 수 있음
-- EMP 테이블의 전체 열을 부서 번호(오름차순)와 급여(내림차순)로 정렬하기
SELECT *
FROM EMP
ORDER BY DEPTNO ASC, SAL DESC;
ORDER BY 절의 사용할 때 주의 사항
- ORDER BY절을 사용한 정렬은 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋음 → 여기 저기 흩어져 있는 데이터를 특정 기준에 따라 가지런히 순서를 맞추는 것은 많은 자원, 비용을 소모함
'DEV > └ ORACLE' 카테고리의 다른 글
03. WHERE절과 연산자 (0) | 2022.04.29 |
---|---|
01. 데이터 베이스 (0) | 2022.04.10 |