Back-End/DBMS(Oracle)

[Oracle] JOIN, SUB_QUERY, 시퀀스

챌링킴 2021. 4. 18. 21:24
반응형

1) JOIN
- 여러 테이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들고 결과를 보여주는 것
- 조회테이블이 너무 많이 쪼개져 있으면 느리다.
- 입력, 수정, 삭제 성능을 향상시키기 위해 사용
- JOIN을 쓰면 ON이고 콤마로 쓰면 WHERE에다가 쓴다 조건이 더 필요하면 AND나 OR 사용

1. 내부 조인(INNER JOIN) : JOIN 앞에 INNER 생략
- 조건이 일치하는 값이 두 테이블에 모두 존재할 때 조회

FROM 테이블1
JOIN 테이블2 ON 조인조건

등가 조인 : ON절에 등호가 있을 때
비등가 조인 : ON절에 등호가 없을 때

 

2. 외부 조인(OUTER JIOIN)
- 두개 이상의 테이블 중 조건이 거짓이라도 한개의 테이블의 모든 데이터가 검색되어야 할 때 사용한다.

   LEFT OUTER JOIN
   RIGHT OUTER JOIN
   FULL OUTER JOIN

 

2) SUB_QUERY

- SQL문 안에 SQL문이 선언된 형태

  • FROM : INLINE VIEW
  • SELECT : SCALAR
  • WHERE : SUB QUERY

3) 시퀀스

- 테이블에 값이 추가될 때마다 변하는 값을 미리 설계할 수 있으며 시작값, 증감값, 최소값, 최대값 등을 미리 설정할 수 있다.

 

1. 시퀀스 사용이유

INSERT INTO BOARD VALUES(1,...);
INSERT INTO BOARD VALUES(2,...);

값을 하나씩 넣을 때 위처럼 넣으면 하나하나 넣어야하는 불편함이 있음

 

2. 시퀀스 문법

CREATE SEQUENCE 시퀀스명
START WITH 시작값
INCREMENT BY 증감값
MAXVALUE 최대값
MINVALUE 최소값;

 

3. 시퀀스 사용법

시퀀스명.NEXTVAL : 값을 하나 증가시킨 후 사용

INSERT INTO BOARD VALUES(BOARD_SEQ.NEXTVAL, ...);

 

반응형

'Back-End > DBMS(Oracle)' 카테고리의 다른 글

[Oracle] JDBC(Java DataBase Connectivity)  (0) 2021.06.14
[Oracle] 무결성, 정규화  (0) 2021.06.09
[Oracle] 함수,SELECT문  (0) 2021.04.18
[Oracle] LIKE, 와일드카드  (0) 2021.04.18
[Oracle] DML(INSERT, UPDATE, DELETE, SELECT)  (0) 2021.04.18