[TIL][SQL] SELECT-03

goaswon·2020년 10월 28일
0

SQL

목록 보기
4/10

DISTINCT

DISTINCT : 중복을 제거해줌(단, 결과를 정렬하지는 않음).
사용 예시)

SQL> SELECT deptno FROM emp;

    DEPTNO
----------
        20
        30
        30
        20
        30
        30
        10
        20
        10
        30
        20
        30
        20
        10

이런 emp table의 deptno column을 정렬하지 않고 중복을 제거하고자 한다.

SQL> SELECT DISTINCT deptno FROM emp;

   DEPTNO
----------
        30
        20
        10

😈👿💀☠ DISTINCT는 하나의 Column에만 적용되지 않고 모든 Column에 적용된다!! 성능에 매우 치명적이니 잘 생각해서 사용해야한다.
심지어 DISTINCTSELECT키워드 바로 뒤에서만 작동하기 때문에 적용될 Column을 선택할 수 없다.

예시)

SQL> SELECT job, DISTINCT ename
  2  FROM emp
  3  ORDER BY 1, 2;
SELECT job, DISTINCT ename
            *
1행에 오류:
ORA-00936: 누락된 표현식
profile
goaswon

0개의 댓글