무병이
무병이개발일기
무병이
전체 방문자
오늘
어제
  • 모든 (17)
    • DATABASE (15)
      • MYSQL (0)
      • ORACLE (11)
      • POSTGRE (3)
    • Study (0)
      • 게시판 만들기 (0)
    • back-end (Web) (1)
      • Spring-Project (sts3) 셋팅 (0)
      • 정리 (1)
    • 프로젝트 (0)
      • 도서관리프로그램 (0)

티스토리

hELLO · Designed By 정상우.
무병이
DATABASE/ORACLE

Oracle - DISTINCT(중복제거)

DATABASE/ORACLE

Oracle - DISTINCT(중복제거)

2022. 3. 14. 13:41

DISTINCT = 컬럼의 중복을 제거하여 보여줌.

 

실습 환경

Windows 10

Oracle 11g Express Edition Release 11

Oracle SQL Developer 

Database ( hr ) - hr 테이블은 오라클에서 지원하는 테이블입니다.


employees 테이블의 department_id 컬럼 값 확인 명령어 

SELECT department_id FROM employees;

데이터를 한번 확인해줍니다.

 

departments 테이블의 department_id 컬럼 값 확인 명령어 

SELECT department_id FROM departments;

데이터를 한번 확인해줍니다.

 

 

DISTINCT를 활용 하여 중복값을 제거하고 보여주는 명령어 1

SELECT DISTINCT d.department_id, department_name , d.manager_id , d.location_id 
FROM employees e, departments d
WHERE e.department_id = d.department_id

SELECT 를 하는데 DISTINCT를 사용 후 departments에있는 컬럼 4개값을 지정한다 

FROM 절에서 별칭으로 employees 는 e로  departments 는 d로 별칭을 해서 사용한다 

WHERE조건에서  employees 의 department_id 컬럼과 departments 의 department_id 컬럼이 동일하다면 이다.

 

조건에서 일단 WHERE e.department_id = d.department_id 부분이 충족되어야 하고

SELECT DISTINCT d.department_id, department_name , d.manager_id , d.location_id  그 중에서 중복값을 제거한 컬럼 값들을 출력하는대 FROM employees e, departments d 여기를 참조해서 출력한다. 라는 뜻으로 해석하면 된다.

 

 

DISTINCT를 활용 하여 중복값을 제거하고 보여주는 명령어 2

SELECT DISTINCT d.department_id, department_name , d.manager_id , d.location_id 
FROM employees e, departments d

위와 비슷한 코드이지만 WHERE절이 없다. 이렇게 하면 위 설명에서

조건에서 일단 WHERE e.department_id = d.department_id 부분이 충족되어야 하고 이부분만 없다고 생각하면 된다.

 

 

DISTINCT 와 COUNT 를 활용 하여 중복값을 제거하고 값을 출력하는 명령어 1

SELECT COUNT(DISTINCT d.department_id) 
FROM employees e, departments d;

위에 했던 예제들과 기본적으로 개념이 비슷하다.

일단 위 예제 처럼 FROM employees e, departments d; 값으로 참조한다.

COUNT(DISTINCT d.department_id) 조건은 DISTINCT d.department_id 조건결과 값을 COUNT에 담는다.

 

 

DISTINCT 와 COUNT 를 활용 하여 중복값을 제거하고 값을 출력하는 명령어 2

SELECT COUNT(DISTINCT d.department_id) 
FROM employees e, departments d
WHERE e.department_id = d.department_id;

위에 예제랑 같이 해보는 예제이다. 

위 예제에서는 WHERE조건이 없었다 

WHERE e.department_id = d.department_id 부분이 충족된 데이터가 나오게 된다.

 

'DATABASE > ORACLE' 카테고리의 다른 글

Oracle - Decode  (0) 2022.03.15
Oracle - NVL , NVL2 , COALESCE  (0) 2022.03.15
Oralce - TO_CHAR ()  (0) 2022.03.14
Oralce - HAVING  (0) 2022.03.14
Oralce - GROUP BY(그룹)  (0) 2022.03.14
  • DISTINCT = 컬럼의 중복을 제거하여 보여줌.
  • employees 테이블의 department_id 컬럼 값 확인 명령어 
  • departments 테이블의 department_id 컬럼 값 확인 명령어 
  • DISTINCT를 활용 하여 중복값을 제거하고 보여주는 명령어 1
  • DISTINCT를 활용 하여 중복값을 제거하고 보여주는 명령어 2
  • DISTINCT 와 COUNT 를 활용 하여 중복값을 제거하고 값을 출력하는 명령어 1
  • DISTINCT 와 COUNT 를 활용 하여 중복값을 제거하고 값을 출력하는 명령어 2
'DATABASE/ORACLE' 카테고리의 다른 글
  • Oracle - NVL , NVL2 , COALESCE
  • Oralce - TO_CHAR ()
  • Oralce - HAVING
  • Oralce - GROUP BY(그룹)
무병이
무병이
안농~!

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.