DB/oracle

oracle 용어 정리! - 1편 merge구문

@예민한 방구석여포 힘히힘 2021. 1. 26. 14:39
반응형

2편도 나오겠죠....? 언젠가는....?

 

희희.

 

 

 

*구루비넷 참조하였습니다.*

*SQL 전문가 가이드 책 참고*

 

MERGER 기본 구문       -- *구루비넷*

MERGE [ hint ]

   INTO [ schema. ] { table | view } [ t_alias ]

   USING { [ schema. ] { table | view }

         | subquery

         } [ t_alias ]

   ON ( condition )

WHEN MATCHED THEN

UPDATE SET column = { expr | DEFAULT }

           [, column = { expr | DEFAULT } ]...

[ DELETE where_clause ]

WHEN NOT MATCHED THEN

INSERT [ (column [, column ]...) ]

VALUES ({ expr [, expr ]... | DEFAULT })

 

너무 많은 구문이 있다..!

찬찬히 뜯어서 본다면

 

 

 

 

 

 

현재, DBeaver 비버로 오라클 연결하여 사용중!

DBeaver란? 다양한 DB 연결하여 사용할 수 있다. 

밑에는 Dbeaver 에서의 캡쳐 가지고옴!

 

참고: DB가 무겁다? DBeaver 를 사용해보자

 

 

 

 

 

 

1. schema

schema

유명한 scott이 schema 였다... ❗

꼼꼼히 공부하지 않은 폐해 🤦‍♂️

 

 

-> 오라클에서는 스키마를 사용자라고 생각하면 된다!

 

user 생성 구문.

CREATE USER [유저] IDENTIFIED BY [비밀번호] ;

 

 

2. view

 

view... 너 view 아니? 라고 하면 알것 같기도 하면서도 모르는 거 같기도 한 애매한 존재.

 

테이블과 흡사한 오브젝트이며, 실제로 데이터를 저장하고 있지는 않습니다.

=> 가상테이블이라고 생각하면 되는!!

 

View는 저장된 Select 문이라고 볼 수 있습니다. 

 

 

왜 뷰를 사용할까?

 

❕ 보완에 유리하다!

뷰를 사용하여 보여줄 데이터만 선택해서 제공가능~

 

CREATE VIEW [뷰 이름] AS [쿼리]

 

 

3. subquery

 

하나의 SQL 문안에 포함되어 있는 또 다른 SQL 문!

 

서브쿼리가 사용이 가능한 곳?

-SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문의 VALUES, UPDATE문의 SET절

 

❕ 주의사항?

① 서브쿼리를 괄호로 감싸서 사용

② 서브쿼리에서는 ORDER BY 사용불가!