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: 누락된 표현식