[SQL] Oracle DB 및 SQL 기본 조회방식
업데이트:
개요
학습에 활용한 프로그램 버전 및 DB는 아래와 같다.
- Oracle 11g
- Toad for Oracle 13.3 trial
- db : SCOTT
Oracle과 Toad 설치 및 SCOTT계정의 연동은 인터넷에 잘 설명된 블로그가 많으니 참고
테이블 기본 정보 DESC
Oracle 데이터베이스의 자료형은 다음과 같다.
자료형 | 설명 |
---|---|
VARCHER2(길이) | 4000byte만큼의 가변 길이 문자열 데이터를 저장 가능(최소 1byte) |
NUMBER(전체 자리수, 소숫점 자리수) | +-38자리수의 숫자를 저장 가능, NUMBER(p,s)는 s자리만큼 소수점 이하 자리수를 표현하고, 소수점자리를 포함한 전체 p자리만큼 숫자 데이터를 지정 |
DATE | 날짜 형식을 저장(세기, 연, 월, 일, 시, 분, 초) |
CHAR(길이) | 4000byte만큼의 고정 길이 문자열 데이터를 저장(최소 1byte) |
NVARCHER2(길이) | 4000byte만큼의 가변 길이 국가별 문자 세트 데이터를 저장(c최소 1byte) |
BLOB | 최대 크기 4GB의 대용량 이진 데이터를 저장 |
CLOB | 최대 크기 4GB의 대용량 텍스트 데이터를 저장 |
BFILE | 치대 크기 4GM의 대용량 이전 데이터 파일을 저장 |
DESC
를 이용하면 이러한 데이터의 기본 구성 및 열정보를 살펴볼 수 있다.
DESC [테이블 명];
EMP : 사원정보가 담겨있는 테이블
DEPT : 부서정보가 담겨있는 테이블
SALGRADE : 급여 정보가 담겨있는 테이블
테이블 조회 SELECT & FROM
SELECT [조회할 열이름1], ... ,[조회할 열이름N] FROM [조회할 테이블 이름];
1.EMP 테이블의 전체 열(*) 조회
2.EMP 테이블의 특정 열 조회
SQL문은 띄어쓰기와 줄 바꿈은 영향을 주지 않기 때문에, 사용하여 가독성을 높일 수 있도록 하면 좋다.
1. DISTINCT
DISTINCT
는 중복데이터를 삭제하는데 활용한다.
SELECT DISTINCT [중복제거할 열이름1], ... FROM [테이블 명];
1.중복제거(열이 한개인 경우)
2.중복제거(열이 여러개인 경우)
2. 연산하여 출력
테이블을 조회할때, 특정열에 연산을 취한 결과를 같이 조회할 수 있다.
SELECT [연산을 취한 열 이름], ... FROM [테이블 명];
3. 컬럼명(별칭) 지정
별칭을 지정하는 4가지 방식
SAL*12+COMM ANNSAL
SAL*12+COMM "ANNSAL"
SAL*12+COMM AS ANNSAL
SAL*12+COMM AS "ANNSAL"
이는 실무에서 긴 열이름에 대한 보완 뿐만 아니라 데이터 노출 문제로 인해 사용함
4. 정렬 ORDER BY
SELECT [열이름]
FROM [테이블 명]
ORDER BY [열이름] ASC(또는 DESC);
1.EMP 테이블의 모든 열을 SAL을 기준으로 오름차순
2.내림차순
3.각 열에 대하여 정렬 적용
DEPTNO에 대하여 오름차순(1순위), SAL에 대하여 내림차순(2순위)
댓글남기기