본문 바로가기

프로그래밍/DataBase

(14)
[DataBase]시퀀스 시퀀스란 자동으로 고유한 번호를 반환해 주는 번호생성기와 같은 객체이다. 일반적으로 ID, NUM과 같은 PK값의 중복을 방지하기 위해 사용된다. 시퀀스 생성 문법 CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [ {MAXVALUE n | NOMAXVALUE} ] [ {MINVALUE n | NOMINVALUE} ] [ { CYCLE | NOCYCLE} ] [ { CACHE n | NOCACHE} ]; 시퀀스의 속성을 사용할 때는 순서에 상관없고 ,(콤마)없이 나열하여 사용하면 된다. 속성 속성 내용 INCREMENT BY n 시퀀스가 한번에 증감될 수 n을 지정한다. 생략 시 기본 값은 1이다. START WITH n 시작 시퀀스 번호 n을 지정한..
[DataBase]뷰 View란 하나 이상의 Base table을 기반으로 생성은 되었으나 물리적으로 존재하지 않고 Data Dictionary에 Select 구문 형태로 정의만 되어 있는 가상의 논리적인 테이블이다. 한마디로 저장공간을 차지하지 않고, 테이블에 영향을 끼치지 않는 테이블 미리보기 같은 것이다. 뷰 생성 문법 CREATE [OR REPLACE] [ FORCE | NOFROCE ] view 뷰이름 as select 컬럼명 from 테이블명; 속성 속성 내용 OR REPLACE 만들어진 뷰가 없으면 새로운 뷰를 만들고, 만약 같은 이름의 뷰가 만들어져 있으면 교체를 한다. 이 속성을 쓰지 않고 이미 존재하는 이름의 뷰를 만들면 뷰가 생성되지 않는다. FORCE / NOFROCE 생략 시 NOFORCE가 기본 값으..
[DateBase]테이블 복사 테이블 복사 쿼리문 insert into copy_emp select * from employees; 위 쿼리문 작성 시 employees테이블의 구조와 모든 데이터를 복사하여 copy_emp테이블을 생성한다. create table copy_emp as select * from employees where 1 = 2; 위 쿼리문 작성 시 employees테이블과 구조가 똑같은 copy_emp 라는 이름의 빈 테이블이 생성된다. 테이블 복사 시 제약 조건은 NOT NULL만 복사된다.
[DateBase]그룹함수 그룹함수란 하나 이상의 행을 그룹으로 묶어 연산하여 총합이나 평균등 하나의 결과로 나타내는 함수를 말한다. 그룹함수의 종류 SUM, AVG, MAX, MIN, COUNT 등 그룹함수 규칙 - NULL값은 무시된다. - LOW가 없는 테이블에 그룹함수 COUNT()를 사용 시 0이 출력되며 SUM()를 사용시 NULL 값이 출력된다. - COUNT, MAX 와 MIN은 문자, 숫자, 날짜 데이터 모두에게서 사용할 수 있다. 그러나 AVG, SUM, VARIANCE, STDDEV는 NUMBER만 사용 가능하다. - EXPR이 있는 인수들의 자료 형태는 CHAR, VARCHAR2, NUMBER, DATE 형이 될 수도 있다. - SELECT절에 그룹함수와 일반 컬럼이 함께 사용될 때, 일반 컬럼을 GROUP ..
[DataBase]일반 함수 일반 함수 종류 NVL (expr1, expr2) expr1이 null인 경우 expr2를 반환하여 출력하는 함수. expr1과 expr2의 데이터 유형이 일치하여야 한다. (날짜면 날짜, 문자면 문자로 동일하게 사용하여야 한다.) NVL2 (expr1, expr2, expr3) : expr1이 널이면 expr2를 반환하고, expr1이 널이 아니면 expr3을 반환하도록 하는 함수. NULLIF (expr1, expr2) : expr1과 expr2가 같으면 null을, 같지 않으면 expr1을 반환하는 함수. COALESCE (expr1, expr2, ..., exprn) : expr1이 널이 아니면 expr1을 반환, expr1이 널이고 expr2가 널이 아니면 expr2를 반환... 식으로 expr..
[DataBase]문자함수 문자함수란 단일행 함수 중 하나로, SELECT, WHERE, ORDER BY절에 사용할 수 있으며, 다중행 함수와는 달리 ROW마다 한번 씩 처리하는 함수이다. 연산 대상이 문자이며, 반환 값은 함수에 따라 숫자 또는 문자를 반환한다. 문자함수에는 대소문자 변환함수와 문자 조작함수 두가지 종류가 있다. 대소문자 변환함수 함수 내용 UPPER(문자열) ()안의 문자 데이터를 모두 대문자로 변환하여 반환한다. LOWER(문자열) ()안의 문자 데이터를 모두 소문자로 변환하여 반환한다. INITCAP ()안의 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환한다. 문자 조작함수 CONCAT(expr1, expr2) 칼럼과 칼럼을 이어 하나의 문자로 보여주는 함수이다. 예를 들어 CO..
[DateBase]ORDER BY ORDER BY란 OREDR BY 절에 오는 컬럼을 기준으로 오름차순 또는 내림차순으로 정렬하여 테이블을 보여주는 기능을 한다. ORDER BY절은 항상 구문의 제일 마지막에 쓰기 때문에, 조건절인 WHERE절을 쓰게 되면 그 아래 ORDER BY절을 사용한다. 구문 오름차순 정렬 SELECT * FROM 테이블 ORDER BY 컬럼 (ASC); 오름차순에서 ASC는 생략 가능하기 때문에 보통 생략하여 사용한다. 내림차순 정렬 SELECT * FROM 테이블 ORDER BY 컬럼 DESC; 여러 컬럼으로 정렬 SELECT * FROM 테이블 ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...]; 컬럼을 숫자로 선택 SELECT 컬럼1, 컬럼2, 컬럼3, ..., 컬럼n FROM 테이블 ORDER BY 숫..
[DataBase]WHERE WHERE 조건절이란 테이블에서 자료를 검색할 때, SELECT와 FROM절만을 이용한다면 우리가 찾고자하는 정보 뿐만 아니라 불필요한 정보도 모두 보여진다. 그렇게 되면 실제로 원하는 자료를 확인하기가 어렵게된다. 이때 WHERE절을 사용하면 우리가 찾고자하는 조건을 기반으로 자료를 검색할 수 있게 된다. WHERE 구문 SELECT [DISTINCT/ALL] 컬럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; WHERE 조건식에는 WHERE 컬럼명 비교연산자 (문자, 숫자, 표현식)와 같은 순서로 사용하며, 문자나 날짜의 리터럴 값은 ''(작은 따옴표) 로 묶어서 사용해야한다. WHERE 연산자의 종류 구분 연산자 의미 비교연산자 = 같을 경우 출력한다. !=, , ^= 같지않을 경우 출력한..