Oracle

4. SELECT문의 기본 형식

minjibbang 2022. 11. 7. 12:21

4-1. 실습용 테이블 살펴보기

사원 정보가 들어 있는 EMP(Employee) 테이블

EMP 테이블 구성 살펴보기

EMP 테이블을 구성하는 열 살펴보기

열 이름 열 의미 데이터 종류 설명
EMPNO 사원 번호 NUMBER(4)
네 자리 숫자
EMP 테이블에서 각 사원의 데이터를 구분할 수 있는 유일한 값을 저장하는 열이며 기본키로 사용한다.
ENAME 사원 이름 VARVHAR2(10byte)
(가변형 문자열)
SCOTT, JONES 등
JOB 사원 직책 VARCHAR2(9byte)
(가변형 문자열)
NANAGER, CLERK 등
MGR 직속 상관의
사원 번호
NUMBER Manager 의 약어로 현재 행에 해당하는 사원의 상급자의
네 자리 사원 번호를 저장하는 열이다.
HIREDATE 입사일 DATE
(날짜 데이터)
입사일을 나타내는 날짜 데이터
SAL 급여 NUMBER 800, 1600, 5000 등
COMM 급여 외 추가 수당
(커미션)
NUMBER Commission의 약자로 월 급여 외 추가 수당을 의미한다.
DEPTNO 사원이 속한
부서 번호
NUMBER Department number의 약어이며 사원이 속해 있는 부서의
고유번호를 의미한다.

 

영문은 한 글자당 1byte, 한글은 한 글자당 2byte를 차지한다.

가변형 문자열이란, 여러 문자가 모여 있는 문자열이다. 만약 출력하려는 문자열이 가변형 문자열이라면, 문자열 데이터가 10byte보다 작은 공간을 차지할 경우에 데이터가 차지하는 공간만큼만 저장 공간을 할당한다.
가변형 문자열과 반대로 저장 공간을 무조건 할당하는 방식인 '고정형' 저장 방식도 있다.

 

회사 부서 정보가 들어 있는 DEPT 테이블

DEPT 테이블 구성 살펴보기

DEPT 테이블을 구성하는 열 살펴보기

열 이름 열 의미 데이터 종류
DEPT NO 부서 번호 NUMBER(2)
: 두자리 숫자
DNAME 부서 이름 VARCHAR2(14byte)
LOC 부서가 위치한 지역 VARCHAR2(13byte)

 

사원들의 급여 정보가 들어 있는 SALGRADE 테이블

SALGRADE 테이블 구성 살펴보기

SALGRADE 테이블 구성하는 열 살펴보기

열 이름 열 의미 데이터 종류
GRADE 급여 등급 NUMBER
LOSAL 급여 등급의 최소 급여액 NUMBER
HISAL 급여 등급의 최대 급여액 NUMBER

 

4-2. 데이터를 조회하는 3가지 방법 - SELECTION, PROJECTION, JOIN

SELECTION : 조회하려는 가로 데이터, 즉 행을 선별하는 방식

PROJECTION : 조회할 테이블의 세로 영역, 즉 출력 테이블의 열을 선택하는 방식

JOIN : 두 개 이상의 테이블을 옆으로 연결하여 하나의 테이블처럼 데이터를 조회하는 방식

 

4-3. SQL의 기본 뼈대, SELECT절과 FROM절

             👉 구조화된 'Query'문

 

SELECT문 : 데이터베이스에 보관되어 있는 데이터 조회

FROM절 : 조회할 데이터가 저장된 테이블 이름 명시

 

문장 끝세미콜론(;) 잊지 말고 넣기

 

EMP 테이블 조회하기

전체 열 조회

출력하고 싶은 열 출력하기

4-4. 중복 데이터를 삭제하는 DISTINCT

열 중복 제거하기

여러 개의 열 중복 제거하기

ALL로 중복되는 열 제거 없이 그대로 출력하기

4-5. 한 눈에 보기 좋게 별칭 설정하기

                                                            👉 alias : 본래 열 이름 대신 붙이는 이름

4-6. 원하는 순서로 출력 데이터를 정렬하는 ODER BY

desc(descending) : 내림차순

asc(ascending) : 오름차순[default]

 

SQL문의 효율이 낮아지기 때문에( = 시간이 오래 걸리기 때문에) 꼭 필요한 경우가 아니라면 되도록 사용하지 말자.

 

'Oracle' 카테고리의 다른 글

6-3. 날짜 데이터를 다루는 날짜 함수  (0) 2022.11.16
6-2. 숫자 함수  (0) 2022.11.16
6-1. 문자 데이터를 가공하는 문자 함수  (0) 2022.11.09
5. WHERE절과 연산자  (0) 2022.11.08
1. 데이터베이스  (0) 2022.11.03