[SQL 교육] SQL(DML)
(*본 게시물은 본인이 교육을 통해서 배우는 내용을 정리하는 글입니다. 부족한 부분이 많으니 참고해주시기 바랍니다. 혹시 정확한 의미를 알고 싶으시거나, 틀린 내용에 대해 조언해주시고 싶은 분들께서는 댓글을 남겨주시면 최대한 빠르게 답변하겠습니다. 감사합니다.)
※ Oracle DB를 사용합니다.
- SELECT 조회
- 구성
- select 추출하고 싶은 열
- from 찾고자 하는 대상
- join ~on 조인, 2개 이상의 테이블에서 검색할 때
- where 행 제한
- group by, having 그룹핑
- order by 정렬
- 구성
- INSERT 삽입
- 구성 1
- insert into 테이블 이름
- [(열이름)]
- values 값들
- 구성 2
- insert into ~ select ~
- 구성 1
- UPDATE 수정
- 구성
- update 테이블 이름
- set 변경할 열, 값
- where 변경할 행 조건
- 구성
- MERGE : 데이터를 합칠 때 사용
- 조건에 따라서 insert가 되거나 update 해준다.
- 예. 2015년 고객정보를 2014년 고객정보에 병합할 때 고객에 따라 추가 되는 경우도 있고 수정되는 경우도 있을 것이다. 예전에는 이 경우 insert 따로 update 따로 해 주었는데, 이제 merge로 한번에 해결 할 수 있다.
- 예. 각 지점별로 Data를 각자 운영하다가 한 Data warehouse로 Data를 모을 때 사용 할 수 있다.
- 구성
- merge into 테이블 이름 [alias]
- using (target|view|subquery) [alias]
on (join_condition) - when matched then
update set col1=val1[, …] - when not matched then
insert (column_lists) values (values_list);
- DELETE 행 삭제
- 구성
- delete from 테이블 이름
- where 행 조건
- 구성
- COMMIT / ROLLBACK
- commit : 작업 적용
- rollback : 작업 취소
- savepoint : rollback 할 지점을 지정
- ex. rollback to savepoint 이름 : savepoint 지점까지만 취소
- TRUNCATE
- 테이블의 모든 항목을 삭제한다.
- 다음의 연산과 동일하다.
- delete from 테이블 이름;
commit;
- delete from 테이블 이름;
- 확실히 삭제해도 되는 것이라면 truncate가 성능이 좋다.
댓글 없음:
댓글 쓰기