컬럼 별칭 설정

 
'TABLE에 없는 컬럼 값 출력하기'에서 계산되어진 컬럼에 대해서 컬럼명이 'SAL*12+COMM'와 같이 출력됨을 보실 수 있습니다.
이렇게 수식이 그대로 보여지는 컬럼명을 변경해서 출력하고 싶을때 이름 대신 별칭(ALIAS)를 붙이는 방법이 있습니다.
 'SAL*12+COMM'대신 별칭 ANNSAL(Annual Salary, 연봉) 으로 출력을 변경하는 방법은 아래와 같습니다.

SELECT ENAME, SAL, COMM, SAL*12+COMM AS ANNSAL
FROM EMP;

'SAL*12+COMM AS ANNSAL '부분이 'SAL*12+COMM'대신 별칭 ANNSAL로 바꾸어 출력하게 하는 부분입니다.

 
위의 방법 이외에도 별칭을 지정하는 방법으로는 아래와 같은 것들이 있습니다.

SELECT ENAME, SAL, COMM, SAL*12+COMM ANNSAL
FROM EMP;
SELECT ENAME, SAL, COMM, SAL*12+COMM "ANNSAL"
FROM EMP;
SELECT ENAME, SAL, COMM, SAL*12+COMM AS "ANNSAL"
FROM EMP;

위의 3가지 방식 모두 출력되는 결과는 같습니다. 참고로 실무에서는 보통 가장 처음 소개한 방법을 많이 사용합니다.

TABLE에 없는 컬럼 값 출력하기

 

SELECT 절을 통해 테이블에 있는 데이터 이외에 연산결과 등을 출력 할 수 있습니다.

EMP 테이블에 있는 이름(ENAME), 월급여(SAL), 수당(COMM) 이외에 연수입총액을 같이 표현해 주고 싶다면 아래와 같이 조회 하시면 됩니다. 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

 

 SELECT ENAME, SAL, COMM, SAL*12+COMM
FROM EMP;

 

 

결과에서 주의 해서 보아야 할 부분은 COMM 값이 NULL인 경우 계산이 이루어 지지 않는다는 것입니다.

결과 9번행에서 처럼 COMM 값이 0인 경우에는 정상적으로 계산이 이루어 집니다.

 

 

'DataBase' 카테고리의 다른 글

[Oracle] SQL 기본 문법 - 출력 순서(ORDER BY 절)  (0) 2025.07.18
컬럼 별칭 설정  (0) 2025.07.17
[Oracle] SQL 기본 문법 - DISTINCT  (0) 2025.07.15
[Oracle] SQL 기본 문법 - SELECT  (0) 2025.07.14
[Oracle] DESCRIBE, DESC 구문  (0) 2025.07.13

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)'을 참고하시면 됩니다.

 

Oracle DESCRIBE, DESC 구문

DESCRIBE(DESC) 명령어는 테이블 구조를 확인하기위한 명령어 입니다. 
이 명령어를 통해 테이블이 보유한 변수(variables, 또는 컬럼)가 어떤 것인지,  해당 변수의 데이터 유형과 NULL 허용 여부를 알게 해 줍니다.

 

1. 문법

describe 테이블이름;
desc 테이블이름;


 

2) emp 테이블의 구조 확인하기

describe emp;
desc emp;

 

위의 문장을 실행합니다. 이때, describe, desc 어느 쪽을 실행해도 결과는 같습니다.
실행 결과 화면은 아래와 같습니다.

emp 테이블이 보유한 컬럼의 이름, NULL 허용여부, 데이터 유형이 나타납니다.

예를 들어, emp Table은 EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO 컬럼으로 이루어져 있으며,
EMPNO 컬럼은 숫자 타입 4자리 유형으로 Null을 허용하지 않음을 알수 있습니다.

 

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

+ Recent posts