본문 바로가기

Oracle/SQL

중복 행 제거 distinct

distinct
  • 중복을 발견해서 한개만 표시를 함
  • distinct는 select문에서 한개만 사용 가능함
  • select 문장 가장 앞에 사용함
  • distinct를 사용하게 되면, full scan이 발생(?)
    • cost가 증가함
  • unique 키워드를 사용할 수도 있다

select distinct department_id
from employees;


department_id 는 총 12개의 값을 갖는다

select distinct manager_id
from employees;

manager_id는 총 19개의 고유한 값을 갖는다.


select distinct department_id, manager_id
from employees;


위 1번과 2번 결과와는 다른 개수가 나온다
Department_id와 Manager_id의 distinct는 각 컬럼의 distinct와는 관련이 없다


select unique manager_id
from employees;


distinct는 unique 키워드로 대신 해서 사용할 수 있다.


'Oracle > SQL' 카테고리의 다른 글

연결 연산자 ||, 리터럴 문자열, 대체 인용 연산자 q  (0) 2016.07.18
alias  (0) 2016.06.14
conn / expired / locked  (0) 2016.06.14