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 |