[TIL][SQL] SELECT-03
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에 적용된다!! 성능에 매우 치명적이니 잘 생각해서 사용해야한다.
심지어 DISTINCT
는 SELECT
키워드 바로 뒤에서만 작동하기 때문에 적용될 Column을 선택할 수 없다.
예시)
SQL> SELECT job, DISTINCT ename
2 FROM emp
3 ORDER BY 1, 2;
SELECT job, DISTINCT ename
*
1행에 오류:
ORA-00936: 누락된 표현식