빅데이터/Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문

SELECT문의 기본 형식 | 중복 데이터 삭제: DISINCT / 별칭 설정: AS / 순서 정렬: ORDER BY

KimKelly 2023. 2. 7. 09:00
반응형

04. SELECT문의 기본 형식

04-4. 중복 데이터 삭제: DISTINCT

 

EMP 테이블에서 DEPTNO 열을 조회하면 데이터가 중복되어 출력되고 있음.

조회한 데이터 내용에서 불필요한 중복을 제거하고 특정 데이터 종류만 확인하고 싶을 때 DISTICT 사용.

 

[열 중복 제거하기 - 열이 한 개인 경우]

 

[열 중복 제거하기 - 열이 여러 개인 경우]

 

[중복되는 열 제거 없이 그대로 출력하기 : ALL]

ALL을 사용한 것과 사용하지 않는 것은 똑같은 결과를 출력함.
즉, SELECT절은 ALL을 기본으로 사용하므로 중복 제거 시 DISTINCT 사용 필요.

 

04-5. 한눈에 보기 좋게 '별칭' 설정하기

SELECT문의 결과를 보면, SELECT절에 명시한 열 이름이 결과 화면에 출력됨.

긴 열 이름을 짧고 간단한 다른 이름으로 알기 쉽게 출력할 때 별칭을 사용함.

 

[별칭을 지정하는 방식 / 실무에서의 별칭 지정]

사용방법 설명
SAL*12+COMM AS ANNSAL 연산 및 가공된 문장 이후 한 칸 띄우고 AS, 한 칸 뒤 별칭 지정

별칭을 지정하는 방식은 여러 가지가 있으나,
위 방법이 알아보기 쉽고 에러 발생 가능성이 낮아 실무에서 주로 사용됨.

 

04-6. 원하는 순서로 출력 데이터 정렬하기: 'ORDER BY'

SELECT ~ FROM ~
(그 밖의 절)
ORDER BY [정렬하려는 열 이름(여러 열 지정 가능)] [정렬 옵션(ASC 또는 DESC)];

 

[오름차순]

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

*정렬 기준이 되는 열이 하나일 경우 위와 같이 ASC는 생략 가능하지만, 여러 개일 경우 ASC 작성 필요.


[내림차순]

EMP 테이블의 모든 열을 급여 기준으로 내림차순 정렬하기

 

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

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

오름차순과 내림차순을 동시에 사용할 경우,
ORDER BY 절에 첫 번째로 명시된 DEPTNO 열을 기준으로 먼저 오름차순으로 정렬한 후,
DEPTNO 값이 같은 사원들끼리 SAL 열을 기준으로 내림차순으로 정렬되어 출력됨.

 

[ORDER BY 사용 시 주의사항]

정렬이 꼭 필용한 경우가 아니라면 사용하지 않는 것을 권장함.
정렬하는 데 많은 시간이 소요되며, SQL문의 효율이 낮아지는 것은 서비스 응답 시간이 느려짐을 뜻함.

 

p92, Chapter 04 문제 풀이

Q2. EMP 테이블의 JOB 열 데이터를 중복 없이 출력하기

Q3.

반응형