SQL 기본 문법 - DISTINCT

DISTINCT는 SELECT로 조회시 중복을 제거합니다. 예제에 사용된 EMP 테이블의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

 

1. 특정열 하나에 대한 중복제거

SELECT DISTINCT DEPTNO
FROM EMP;

EMP 테이블의 DEPTNO 컬럼을 조회 하여 출력할때 같은 내용이 있으면 중복을 제거하고 출력 합니다.

 

 

2. 여러 열에대한 중복 제거

SELECT DISTINCT JOB, DEPTNO
FROM EMP;

EMP 테이블의 JOB 컬럼과 DEPTNO 컬럼의 값이 모두 같은 경우를 제외하고 출력합니다.

 

 

3. 중복을 제거하지 않고 출력(ALL)

SELECT ALL JOB, DEPTNO
FROM EMP;

EMP 테이블의 JOB 컬럼과 DEPTNO 컬럼의 모든 값을 출력합니다. 

 

 

'DataBase' 카테고리의 다른 글

컬럼 별칭 설정  (0) 2025.07.17
TABLE에 없는 컬럼 값 출력하기  (0) 2025.07.16
[Oracle] SQL 기본 문법 - SELECT  (0) 2025.07.14
[Oracle] DESCRIBE, DESC 구문  (0) 2025.07.13
SCOTT 계정 예제 Table ★★★  (1) 2025.07.12

[Oracle] SQL 기본 문법 - SELECT

Oracle의 SELECT 문법은 데이터베이스에서 원하는 데이터를 조회할 때 사용하는 SQL의 기본 구문입니다.

 

0. 기본 SELECT 문법

SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명
WHERE 조건
ORDER BY 컬럼명 [ASC|DESC];

 

조건에 따라 지정된 컬럼을 조회합니다. 모든 컬럼을 조회하려면 *를 사용합니다. 이때, SQL문에서 대문자와 소문자는 구분되지 않습니다. 다만 가독성을 위해 명령문은 대문자로 작성 및 명령어 단위에 따라 여러 줄로 나누고 코드 수준에 따라 들여쓰기 할 것을 권장합니다.

 

1. 전체 데이터를 조회

Table에 보관된 전체 Data를 조회 할 수 있습니다.

SELECT * FROM  emp;

위 예제는 emp 테이블에 전체 데이터를 조회하는 예제로 실행결과는 아래와 같습니다.

 

2. 행 단위로 조회(selection)

셀렉션(selection)은 원하는 데이터를 행 단위로 조회하는 방식입니다.

SELECT * FROM emp where deptno=10;

위 예제는 emp 테이블에 전체 데이터 중에서 ' deptno=10' 행만 조회하는 경우로 예제의 실행결과는 아래와 같습니다.

 

 

3. 열 단위로 조회(projection)

프로젝션 (projection)은 원하는 데이터를 열 단위로 조회하는 방식입니다.

SELECT empno, ename FROM emp;

위 예제는 emp 테이블에 전체 데이터 중에서 mpno, ename 두개의 열만 조회하는 경우로 예제의 실행결과는 아래와 같습니다.

 

4. 특정 행과 열을 함께 조회 (selection + projection)

셀렉션(selection)과 프로젝션(projection)을 함께 사용하여 원하는 데이터를 행과 열 단위로 조회하는 방식입니다.

SELECT empno, ename, deptno FROM emp WHERE deptno=10;

위 예제는 emp 테이블에 전체 데이터에 대하여  'deptno=10' 행 중에서 mpno, ename 두개의 열을 조회하는 경우로 예제의 실행결과는 아래와 같습니다.

 

 

5. 두개 이상의 테이블에서의 조회(JOIN)

조인(JOIN)은 2개 이상의 테이블을 연결하여 하나의 테이블인것 처럼 데이터를 조회하는 방식입니다.

SELECT *
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO
ORDER BY EMPNO;

EMP, DEPT 두개의 테이블에 대하여, DEPTNO가 같은 것을 기준으로 두개의 테이블을 연결하여 하나의 테이블 처럼 보여 줍니다.

예제의 실행결과는 아래와 같습니다.

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

+ Recent posts